{
  "generatedAt": "2026-09-08",
  "license": "CC BY 4.0, attribute xtwitterapiprices.com",
  "methodology": "https://xtwitterapiprices.com/methodology",
  "volumesPerMonth": [
    1000,
    10000,
    100000,
    1000000
  ],
  "verticals": [
    "search",
    "user_tweets",
    "profile",
    "tweet",
    "followers",
    "replies"
  ],
  "providers": [
    {
      "slug": "anyapi",
      "name": "AnyAPI",
      "homepage": "https://getanyapi.com",
      "pricingUrl": "https://getanyapi.com/pricing",
      "docsUrl": "https://getanyapi.com/api/x-twitter",
      "logoDomain": "getanyapi.com",
      "hq": "US",
      "founded": null,
      "billing": {
        "model": "payg",
        "freeTier": {
          "calls": 100,
          "period": "once",
          "creditCardRequired": false,
          "note": "The pricing page says \"Get ~100 free requests\" and no card is needed to start; the starting balance is a small USD grant drawn down at each endpoint's printed rate."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": false,
        "expiryNote": "Wallet balance is USD and does not expire; there are no subscriptions and no monthly minimum.",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "request",
        "note": "Every X endpoint is a flat USD price per request, printed on its own page as \"Price per request\" and \"Price /1k req\". There are no credits and no per-result billing on these six verticals. The unit recorded here is one request at the cheapest printed X rate, $0.0001 ($0.10 per 1,000, trends and community), which is the rate carried on the plan, so units is each endpoint's own printed price expressed in those units: search 6.5, user tweets 5, profile 2.2, tweet 2.2, followers 7.5, replies 5. resultsPerRequest is filled only where the page prints a native page size: search says \"native pages contain approximately 20 tweets\" and followers says \"native pages contain up to 200 accounts\". The other four print no page size. Prices as printed on 2026-09-08: search $0.00065 ($0.65/1k), user tweets $0.0005 ($0.50/1k), profile $0.00022 ($0.22/1k), tweet $0.00022 ($0.22/1k), followers $0.00075 ($0.75/1k), replies $0.0005 ($0.50/1k).",
        "search": {
          "units": 6.5,
          "per": "request",
          "resultsPerRequest": 20,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 5,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 2.2,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 2.2,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 7.5,
          "per": "request",
          "resultsPerRequest": 200,
          "minPerRequestUsd": null
        },
        "replies": {
          "units": 5,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        }
      },
      "plans": [
        {
          "name": "Pay as you go",
          "monthlyUsd": 0,
          "includedUnits": 0,
          "overagePerUnitUsd": 0.0001,
          "hardCap": false,
          "delivery": "live",
          "note": "One USD wallet, no plan and no monthly minimum. The rate here is the cheapest printed X rate, $0.10 per 1,000 requests (trends and community); every endpoint carries its own price, listed under unitCost. A failed request costs $0."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 0,
          "maxUnits": null,
          "perUnitUsd": 0.0001
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "trends",
          "thread",
          "article",
          "transcript",
          "search_users",
          "communities"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": null,
        "failedRequestsFree": true,
        "pagination": "cursor",
        "bulkOrBatch": true,
        "realtimeStream": null,
        "selfHosted": null,
        "sla": null,
        "legalShield": null
      },
      "performance": {
        "claimedAvgLatencySeconds": 1.6,
        "claimedSuccessRatePct": 99.8,
        "source": "https://getanyapi.com/api/x-twitter"
      },
      "sources": [
        {
          "url": "https://getanyapi.com/api/x-twitter",
          "capturedAt": "2026-09-08",
          "note": "endpoint list (16 endpoints, 7 providers), cheapest per-endpoint prices, \"from $0.10 per 1,000 requests\", failed requests cost $0, 30-day uptime 99.8% and weighted median 1.6s"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/search",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.00065, Price /1k req $0.65, \"native pages contain approximately 20 tweets\""
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/user-tweets",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.0005, Price /1k req $0.50"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/profile",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.00022, Price /1k req $0.22"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/tweet",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.00022, Price /1k req $0.22"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/followers",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.00075, Price /1k req $0.75, \"native pages contain up to 200 accounts\""
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/replies",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.0005, Price /1k req $0.50"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/following",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.00075, Price /1k req $0.75"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/trends",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.0001, Price /1k req $0.10"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/search-users",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.00075, Price /1k req $0.75"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/thread",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.005, Price /1k req $5.00"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/article",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.00075, Price /1k req $0.75"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/tweet-transcript",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.0012, Price /1k req $1.20"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/community",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.0001, Price /1k req $0.10"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/community-tweets",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.0005, Price /1k req $0.50"
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/search-communities",
          "capturedAt": "2026-09-08",
          "note": "the one X endpoint billed per result: Price /1k results $0.11, metered as $0.0001 base plus $0.0001 per result, capped at $0.0011 per request. No flat per-request price is printed."
        },
        {
          "url": "https://getanyapi.com/api/x-twitter/user-posts",
          "capturedAt": "2026-09-08",
          "note": "Price per request $0.0005, Price /1k req $0.50"
        },
        {
          "url": "https://getanyapi.com/pricing",
          "capturedAt": "2026-09-08",
          "note": "\"one key and one wallet. Priced in dollars per request, no subscriptions\"; X / Twitter listed from $0.10 /1k req across 16 endpoints and 7 providers; \"Get ~100 free requests\""
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "Runs this site. Cheapest way to read X without a plan: flat USD per request on every endpoint, no subscription, no monthly minimum, a failed request costs nothing, and it routes across seven upstream sources so one dead source does not fail the call. The catch is that it is a normalizing reseller, not X: there are no write actions, no stream, no stated archive depth, and the sixteen endpoints collapse to thirteen of this index's names (user posts sits alongside user tweets; community, community tweets and search communities are all communities). Search communities is the only X endpoint billed per result rather than per request, and thread at $5.00/1k is by far the dearest.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.0325,
            "per1kUsd": 0.0325,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.325,
            "per1kUsd": 0.0325,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 3.25,
            "per1kUsd": 0.0325,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 32.5,
            "per1kUsd": 0.0325,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.025,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.25,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 2.5,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 25,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.22,
            "per1kUsd": 0.22,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2.2,
            "per1kUsd": 0.22,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 22.000000000000004,
            "per1kUsd": 0.22,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 220,
            "per1kUsd": 0.22,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.22,
            "per1kUsd": 0.22,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2.2,
            "per1kUsd": 0.22,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 22.000000000000004,
            "per1kUsd": 0.22,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 220,
            "per1kUsd": 0.22,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.0037500000000000003,
            "per1kUsd": 0.00375,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.0375,
            "per1kUsd": 0.00375,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 0.375,
            "per1kUsd": 0.00375,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 3.75,
            "per1kUsd": 0.00375,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.025,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.25,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 2.5,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 25,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "apify-kaitoeasyapi-tweet-scraper",
      "name": "Apify Tweet Scraper (kaitoeasyapi)",
      "homepage": "https://apify.com/kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest",
      "pricingUrl": "https://apify.com/kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest",
      "docsUrl": "https://apify.com/kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest/api",
      "logoDomain": "apify.com",
      "hq": "CZ",
      "founded": 2015,
      "billing": {
        "model": "hybrid",
        "freeTier": {
          "calls": null,
          "period": "month",
          "creditCardRequired": false,
          "note": "Apify's Free platform plan gives $5 of usage per month with no credit card. The actor prints no free allowance of its own and no Demo Mode restriction, so calls is null rather than a count derived from that balance."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "Apify prints that unused usage credits are not rolled over to the next billing cycle and expire at the end of it.",
        "annualDiscountPct": 10,
        "prepaidOnly": false,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "result",
        "search": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": 20,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": 20,
          "minPerRequestUsd": null
        },
        "profile": null,
        "tweet": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": null,
        "replies": null,
        "note": "Prices are printed in USD per dataset item, so the billed unit here is one returned tweet and units is 1 on every vertical; the dollar rate sits on the plans, because it is the Store discount tier that moves it. The entry FREE Store tier is $0.00025 per tweet ($0.25/1,000); the same event falls to $0.00022 on BRONZE, $0.0002 on SILVER and $0.00018 on GOLD, PLATINUM and DIAMOND, which is the '$0.18/1K' in the actor's own title. The one price applies to every input type: keyword search, a from:username account pull, and tweet ID lookup. resultsPerRequest is the README's printed note that each query returns typically up to about 20 tweets. profile, followers and replies are null because the actor returns tweet rows only, with the author profile nested inside them, and documents no profile, follower or reply-thread input."
      },
      "plans": [
        {
          "name": "Apify Free",
          "monthlyUsd": 0,
          "includedUnits": null,
          "overagePerUnitUsd": 0.00025,
          "hardCap": true,
          "delivery": "live",
          "note": "$5/month of Apify platform usage, no credit card. FREE Store tier rate $0.00025 per tweet ($0.25/1,000)."
        },
        {
          "name": "Apify Starter",
          "monthlyUsd": 19,
          "includedUnits": null,
          "overagePerUnitUsd": 0.00022,
          "hardCap": false,
          "delivery": "live",
          "note": "$19/month of included Apify platform usage plus pay as you go; Bronze Store discount tier. Actor rate $0.00022 per tweet ($0.22/1,000)."
        },
        {
          "name": "Apify Scale",
          "monthlyUsd": 199,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0002,
          "hardCap": false,
          "delivery": "live",
          "note": "$199/month of included Apify platform usage; Silver Store discount tier. Actor rate $0.0002 per tweet ($0.20/1,000)."
        },
        {
          "name": "Apify Business",
          "monthlyUsd": 999,
          "includedUnits": null,
          "overagePerUnitUsd": 0.00018,
          "hardCap": false,
          "delivery": "live",
          "note": "$999/month of included Apify platform usage; Gold Store discount tier. Actor rate $0.00018 per tweet ($0.18/1,000). This is the advertised headline price."
        },
        {
          "name": "Apify Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": 0.00018,
          "hardCap": false,
          "delivery": "live",
          "note": "Apify prints 'Talk to us' for tiers above Business, so monthlyUsd is null. The actor still publishes PLATINUM and DIAMOND at $0.00018 per tweet, the same as GOLD, but the spend that unlocks those tiers is not published."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "marketplace",
        "endpoints": [
          "search",
          "user_tweets",
          "tweet"
        ],
        "writeActions": null,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": false,
        "failedRequestsFree": null,
        "pagination": null,
        "bulkOrBatch": true,
        "realtimeStream": null,
        "selfHosted": null,
        "sla": null,
        "legalShield": null
      },
      "performance": {
        "claimedAvgLatencySeconds": null,
        "claimedSuccessRatePct": 99.99,
        "source": "https://apify.com/kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest"
      },
      "sources": [
        {
          "url": "https://api.apify.com/v2/acts/kaitoeasyapi~twitter-x-data-tweet-scraper-pay-per-result-cheapest",
          "capturedAt": "2026-09-08",
          "note": "unauthenticated Apify act JSON; pricingInfos is append-only and the latest entry (startedAt 2026-06-05) is PAY_PER_EVENT with one primary event 'tweet' tiered at FREE $0.00025, BRONZE $0.00022, SILVER $0.0002, GOLD $0.00018, PLATINUM $0.00018, DIAMOND $0.00018"
        },
        {
          "url": "https://apify.com/kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest",
          "capturedAt": "2026-09-08",
          "note": "store listing header 'from $0.18 / 1,000 tweets' and title 'Tweet Scraper|$0.18/1K Tweets | Pay-Per Result | No Rate Limits'; README prints '$0.25 per 1,000 tweets', 'Each query returns a limited number of tweets (typically up to ~20). Pagination is not reliable and should be avoided.', 'Success rate: >99.99%', and input fields twitterContent, from and tweetIDs. The same page embeds the tiered event prices."
        },
        {
          "url": "https://apify.com/pricing",
          "capturedAt": "2026-09-08",
          "note": "Apify platform plan floor: Free $0 with $5 to spend, Starter $19, Scale $199, Business $999, Enterprise 'Talk to us'; 10% off when billed annually; 'unused usage credits are not rolled over to the next billing cycle, and they expire at the end of the billing cycle'"
        },
        {
          "url": "https://apify.com/about",
          "capturedAt": "2026-09-08",
          "note": "'Founded in 2015', launched by Jan Curn and Jakub Balada, team moved to the Czech Republic in 2016 and is based in Prague; source for hq CZ and founded 2015"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The cheapest per-tweet rate among the mainstream Apify tweet actors, and the only one whose price actually falls with your Apify plan, from $0.25 to $0.18 per 1,000. The catch is the gap between the advertised $0.18 and the $0.25 you pay until you are on the $999/month Business plan, plus the actor's own warning that each query returns only about 20 tweets and that pagination is unreliable, so wide time ranges have to be split into many small windows.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.25,
            "per1kUsd": 0.25,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2.5,
            "per1kUsd": 0.25,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 25,
            "per1kUsd": 0.25,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 239,
            "per1kUsd": 0.239,
            "via": "Apify Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.25,
            "per1kUsd": 0.25,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2.5,
            "per1kUsd": 0.25,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 25,
            "per1kUsd": 0.25,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 239,
            "per1kUsd": 0.239,
            "via": "Apify Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.25,
            "per1kUsd": 0.25,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2.5,
            "per1kUsd": 0.25,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 25,
            "per1kUsd": 0.25,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 239,
            "per1kUsd": 0.239,
            "via": "Apify Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ]
      }
    },
    {
      "slug": "apify-apidojo-tweet-scraper",
      "name": "Apify Tweet Scraper V2 (apidojo)",
      "homepage": "https://apify.com/apidojo/tweet-scraper",
      "pricingUrl": "https://apify.com/apidojo/tweet-scraper",
      "docsUrl": "https://apify.com/apidojo/tweet-scraper/api",
      "logoDomain": "apify.com",
      "hq": "CZ",
      "founded": 2015,
      "billing": {
        "model": "hybrid",
        "freeTier": {
          "calls": null,
          "period": "month",
          "creditCardRequired": false,
          "note": "Two separate free limits apply. Apify's Free platform plan gives $5 of usage per month with no credit card. On top of that the actor's README restricts Free-plan users to Demo Mode: 5 runs per month, each capped at 10 items. calls is null because neither figure is a printed call count for paid use."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "Apify prints that unused usage credits are not rolled over to the next billing cycle and expire at the end of it.",
        "annualDiscountPct": 10,
        "prepaidOnly": false,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "result",
        "search": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": null,
        "tweet": null,
        "followers": null,
        "replies": null,
        "note": "Prices are printed in USD per dataset item, so the billed unit here is one returned tweet, units is 1 on every vertical, and the dollar rate sits on the plans. The actor bills one flat $0.0004 event per tweet on every Apify Store discount tier, so search and a profile timeline cost the same. profile, tweet, followers and replies are null because this actor returns tweet rows only, and its README states single tweet fetching and conversation/reply scraping are not allowed and points those use cases at a different actor. No per-request minimum in dollars is printed; what is printed is a minimum of 50 tweets returned per query."
      },
      "plans": [
        {
          "name": "Apify Free",
          "monthlyUsd": 0,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": true,
          "delivery": "live",
          "note": "$5/month of Apify platform usage, no credit card. The actor charges $0.0004 per tweet ($0.40/1,000) on the FREE Store tier. The README limits Free-plan users to Demo Mode: 5 runs per month capped at 10 items each."
        },
        {
          "name": "Apify Starter",
          "monthlyUsd": 19,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": false,
          "delivery": "live",
          "note": "$19/month of included Apify platform usage plus pay as you go; Bronze Store discount tier. The actor's BRONZE per-tweet price is $0.0004, the same as FREE."
        },
        {
          "name": "Apify Scale",
          "monthlyUsd": 199,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": false,
          "delivery": "live",
          "note": "$199/month of included Apify platform usage; Silver Store discount tier. SILVER per-tweet price is $0.0004."
        },
        {
          "name": "Apify Business",
          "monthlyUsd": 999,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": false,
          "delivery": "live",
          "note": "$999/month of included Apify platform usage; Gold Store discount tier. GOLD per-tweet price is $0.0004."
        },
        {
          "name": "Apify Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": false,
          "delivery": "live",
          "note": "Apify prints 'Talk to us' for tiers above Business, so monthlyUsd is null. The actor still publishes PLATINUM and DIAMOND per-tweet prices of $0.0004, identical to every other tier."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "marketplace",
        "endpoints": [
          "search",
          "user_tweets",
          "lists"
        ],
        "writeActions": null,
        "historicalSearch": true,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": null,
        "bulkOrBatch": true,
        "realtimeStream": null,
        "selfHosted": null,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://api.apify.com/v2/acts/apidojo~tweet-scraper",
          "capturedAt": "2026-09-08",
          "note": "unauthenticated Apify act JSON; pricingInfos is append-only and the latest entry (startedAt 2026-06-09) is PAY_PER_EVENT with one primary event 'tweet' priced at $0.0004 for FREE, BRONZE, SILVER, GOLD, PLATINUM and DIAMOND"
        },
        {
          "url": "https://apify.com/apidojo/tweet-scraper",
          "capturedAt": "2026-09-08",
          "note": "store listing header 'from $0.40 / 1,000 tweets'; README prints '$0.40 per 1,000 tweets', 'Minimum requirement: each query must return at least 50 tweets', 'Free users: limited to 5 runs per month, each capped at 10 items', 'Single tweet fetching and conversation scraping are not allowed', 'Max 1 concurrent run with up to 5 batched queries', 'Search Data Range: Unlimited', and Twitter List URL support. The same page embeds the tiered $0.0004 event price."
        },
        {
          "url": "https://apify.com/pricing",
          "capturedAt": "2026-09-08",
          "note": "Apify platform plan floor: Free $0 with $5 to spend, Starter $19, Scale $199, Business $999, Enterprise 'Talk to us'; 10% off when billed annually; Bronze/Silver/Gold Store discount maps to Starter/Scale/Business; 'unused usage credits are not rolled over to the next billing cycle, and they expire at the end of the billing cycle'"
        },
        {
          "url": "https://apify.com/about",
          "capturedAt": "2026-09-08",
          "note": "'Founded in 2015', launched by Jan Curn and Jakub Balada, team moved to the Czech Republic in 2016 and is based in Prague; source for hq CZ and founded 2015"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The cheapest way to pull very large keyword or account tweet sets on Apify, at a flat $0.0004 per tweet that does not fall on higher plans, and it accepts full Twitter advanced-search syntax. The catch is that it is deliberately crippled for small jobs: each query must return at least 50 tweets, single tweets and reply threads are refused outright, and you still pay an Apify platform plan on top of the per-tweet charge.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.4,
            "per1kUsd": 0.4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 4,
            "per1kUsd": 0.4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 40,
            "per1kUsd": 0.4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 400,
            "per1kUsd": 0.4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.4,
            "per1kUsd": 0.4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 4,
            "per1kUsd": 0.4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 40,
            "per1kUsd": 0.4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 400,
            "per1kUsd": 0.4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ]
      }
    },
    {
      "slug": "apify-apidojo-twitter-user-scraper",
      "name": "Apify Twitter User Scraper (apidojo)",
      "homepage": "https://apify.com/apidojo/twitter-user-scraper",
      "pricingUrl": "https://apify.com/apidojo/twitter-user-scraper",
      "docsUrl": "https://apify.com/apidojo/twitter-user-scraper/api",
      "logoDomain": "apify.com",
      "hq": "CZ",
      "founded": 2015,
      "billing": {
        "model": "hybrid",
        "freeTier": {
          "calls": null,
          "period": "month",
          "creditCardRequired": false,
          "note": "Apify's Free platform plan gives $5 of usage per month with no credit card, and this actor's README additionally limits Free-plan users to 5 runs per month capped at 10 items each. The README also prints that the first page of a keyword search (~20 users) and of a followers, following or retweeters query (~70 users) is free of the per-user charge, but that is a per-query allowance, not a monthly call count, so calls is null."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "Apify prints that unused usage credits are not rolled over to the next billing cycle and expire at the end of it.",
        "annualDiscountPct": 10,
        "prepaidOnly": false,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "result",
        "search": null,
        "user_tweets": null,
        "profile": {
          "units": 10,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.004
        },
        "tweet": null,
        "followers": {
          "units": 40,
          "per": "request",
          "resultsPerRequest": 70,
          "minPerRequestUsd": 0.016
        },
        "replies": null,
        "note": "Prices are printed in USD per event. The unit recorded here is the actor's own per-user event of $0.0004, which is the rate carried on the plans, so units is the query fee expressed in those units: 20 for a keyword search, 10 for a profile, 40 for a followers query. This actor mixes a per-query fee with a per-user fee: $0.008 per keyword search, $0.004 per profile URL or handle, $0.016 per followers query, $0.016 per following query, $0.016 per retweeters query, $0.0002 per About-page profile, and $0.0004 for every user beyond the free first page. resultsPerRequest carries the README's printed free first page: about 20 users for a keyword search and about 70 for a followers, following or retweeters query. minPerRequestUsd is the printed query fee, which you pay even when only the free first page is returned. user_tweets, tweet and replies are null because this actor returns user rows, not tweets. The keyword search endpoint returns user accounts, not tweets, so it is not priced under tweet search."
      },
      "plans": [
        {
          "name": "Apify Free",
          "monthlyUsd": 0,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": true,
          "delivery": "live",
          "note": "$5/month of Apify platform usage, no credit card. Actor events are the same on every tier: $0.0004 per additional user, plus the printed per-query fees. Free-plan users are limited to 5 runs per month capped at 10 items each."
        },
        {
          "name": "Apify Starter",
          "monthlyUsd": 19,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": false,
          "delivery": "live",
          "note": "$19/month of included Apify platform usage plus pay as you go; Bronze Store discount tier. This actor publishes a single price per event with no Store-tier discount, so the per-user rate stays $0.0004."
        },
        {
          "name": "Apify Scale",
          "monthlyUsd": 199,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": false,
          "delivery": "live",
          "note": "$199/month of included Apify platform usage; Silver Store discount tier. Per-user rate unchanged at $0.0004."
        },
        {
          "name": "Apify Business",
          "monthlyUsd": 999,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": false,
          "delivery": "live",
          "note": "$999/month of included Apify platform usage; Gold Store discount tier. Per-user rate unchanged at $0.0004."
        },
        {
          "name": "Apify Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": 0.0004,
          "hardCap": false,
          "delivery": "live",
          "note": "Apify prints 'Talk to us' for tiers above Business, so monthlyUsd is null. The actor's event prices are flat and do not vary by Store tier."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "marketplace",
        "endpoints": [
          "profile",
          "followers",
          "following",
          "retweeters",
          "search_users"
        ],
        "writeActions": null,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": null,
        "bulkOrBatch": true,
        "realtimeStream": null,
        "selfHosted": null,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://api.apify.com/v2/acts/apidojo~twitter-user-scraper",
          "capturedAt": "2026-09-08",
          "note": "unauthenticated Apify act JSON; pricingInfos is append-only and the latest entry (startedAt 2026-03-03) is PAY_PER_EVENT with dataset-item $0.0004, single-url-event $0.004, keyword-search-event $0.008, follower-event $0.016, following-event $0.016, retweeters-event $0.016 and about-event $0.0002, with no Store-tier variation"
        },
        {
          "url": "https://apify.com/apidojo/twitter-user-scraper",
          "capturedAt": "2026-09-08",
          "note": "store listing header 'from $0.40 / 1,000 dataset items'; README pricing table prints Keyword Search $0.008/search with first ~20 users free, Profile URL $0.004/URL, Followers Query $0.016/query with first ~70 users free, Following Query $0.016/query, Retweeters Query $0.016/query, About Page $0.0002/profile, Additional Users $0.0004/user, a minimum of 5 objects per run, and 'Free users: limited to 5 runs per month, each capped at 10 items'"
        },
        {
          "url": "https://apify.com/pricing",
          "capturedAt": "2026-09-08",
          "note": "Apify platform plan floor: Free $0 with $5 to spend, Starter $19, Scale $199, Business $999, Enterprise 'Talk to us'; 10% off when billed annually; 'unused usage credits are not rolled over to the next billing cycle, and they expire at the end of the billing cycle'"
        },
        {
          "url": "https://apify.com/about",
          "capturedAt": "2026-09-08",
          "note": "'Founded in 2015', launched by Jan Curn and Jakub Balada, team moved to the Czech Republic in 2016 and is based in Prague; source for hq CZ and founded 2015"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The clearest priced way on Apify to pull whole follower and following graphs, retweeters, and bulk profile lookups, with the first page of each query included in the query fee. The catch is that the query fees dominate small jobs: a single profile costs $0.004 against $0.0004 per extra user, every followers query costs $0.016 before any paging, the run needs at least 5 objects, and the Apify platform plan is a separate bill.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 4,
            "per1kUsd": 4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 40,
            "per1kUsd": 4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 400,
            "per1kUsd": 4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 4000,
            "per1kUsd": 4,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.2285714285714286,
            "per1kUsd": 0.228571,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2.285714285714286,
            "per1kUsd": 0.228571,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 22.857142857142858,
            "per1kUsd": 0.228571,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 228.5714285714286,
            "per1kUsd": 0.228571,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ]
      }
    },
    {
      "slug": "apify-xquik-x-tweet-scraper",
      "name": "Apify X Tweet Scraper (xquik)",
      "homepage": "https://apify.com/xquik/x-tweet-scraper",
      "pricingUrl": "https://apify.com/xquik/x-tweet-scraper",
      "docsUrl": "https://apify.com/xquik/x-tweet-scraper/api",
      "logoDomain": "apify.com",
      "hq": "CZ",
      "founded": 2015,
      "billing": {
        "model": "hybrid",
        "freeTier": {
          "calls": null,
          "period": "month",
          "creditCardRequired": false,
          "note": "Apify's Free platform plan gives $5 of usage per month with no credit card. The actor prints no free allowance of its own, only that diagnostics records are free and never billed, so calls is null rather than a count derived from that balance."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "Apify prints that unused usage credits are not rolled over to the next billing cycle and expire at the end of it.",
        "annualDiscountPct": 10,
        "prepaidOnly": false,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "result",
        "search": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": 300,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": null,
        "tweet": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": null,
        "replies": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "note": "Prices are printed in USD per delivered row, so the billed unit here is one delivered row, units is 1 on every vertical, and the dollar rate sits on the plans. The actor prints one charge per delivered data row, $0.00015 ($0.15 per 1,000), identical on every Apify Store discount tier, with no start fee and no query fee, and states that filters and duplicate removal run before billing. The same rate covers every mode, so search, a profile timeline, a tweet ID lookup and a reply thread all cost the same per row. resultsPerRequest is the README's printed 'automatic search and quote pages request up to 300 rows'. profile is null because the actor documents no standalone profile mode; the author profile is nested in each tweet row at no extra charge. followers is null because follower and following lists are not offered; retweeters and favoriters are, and are billed as ordinary rows."
      },
      "plans": [
        {
          "name": "Apify Free",
          "monthlyUsd": 0,
          "includedUnits": null,
          "overagePerUnitUsd": 0.00015,
          "hardCap": true,
          "delivery": "live",
          "note": "$5/month of Apify platform usage, no credit card. Actor rate $0.00015 per delivered row. Apify platform usage for this actor is billed to the customer on top of the row charge."
        },
        {
          "name": "Apify Starter",
          "monthlyUsd": 19,
          "includedUnits": null,
          "overagePerUnitUsd": 0.00015,
          "hardCap": false,
          "delivery": "live",
          "note": "$19/month of included Apify platform usage plus pay as you go; Bronze Store discount tier. The actor prints the same $0.00015 per row on every Apify plan."
        },
        {
          "name": "Apify Scale",
          "monthlyUsd": 199,
          "includedUnits": null,
          "overagePerUnitUsd": 0.00015,
          "hardCap": false,
          "delivery": "live",
          "note": "$199/month of included Apify platform usage; Silver Store discount tier. Row rate unchanged at $0.00015."
        },
        {
          "name": "Apify Business",
          "monthlyUsd": 999,
          "includedUnits": null,
          "overagePerUnitUsd": 0.00015,
          "hardCap": false,
          "delivery": "live",
          "note": "$999/month of included Apify platform usage; Gold Store discount tier. Row rate unchanged at $0.00015."
        },
        {
          "name": "Apify Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": 0.00015,
          "hardCap": false,
          "delivery": "live",
          "note": "Apify prints 'Talk to us' for tiers above Business, so monthlyUsd is null. PLATINUM and DIAMOND row prices are also $0.00015."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "marketplace",
        "endpoints": [
          "search",
          "user_tweets",
          "tweet",
          "replies",
          "thread",
          "article",
          "lists",
          "retweeters",
          "likes"
        ],
        "writeActions": null,
        "historicalSearch": true,
        "loginWalledData": false,
        "rateLimitPublished": null,
        "failedRequestsFree": true,
        "pagination": "cursor",
        "bulkOrBatch": true,
        "realtimeStream": null,
        "selfHosted": null,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://api.apify.com/v2/acts/xquik~x-tweet-scraper",
          "capturedAt": "2026-09-08",
          "note": "unauthenticated Apify act JSON; pricingInfos is append-only and the latest entry (startedAt 2026-08-29) is PAY_PER_EVENT with one primary event 'tweets' priced at $0.00015 for FREE, BRONZE, SILVER, GOLD, PLATINUM and DIAMOND, and carries isPPEPlatformUsagePaidByUser true, meaning Apify platform compute is billed to the customer on top"
        },
        {
          "url": "https://apify.com/xquik/x-tweet-scraper",
          "capturedAt": "2026-09-08",
          "note": "store listing header 'from $0.00015 / tweets' and title 'X Tweet Scraper | $0.15/1K Tweets | Pay-Per-Result'; README prints 'Every Apify plan costs $0.00015 per delivered row ($0.15 per 1,000). Apify bills your platform usage separately', 'No separate start or query fee applies', 'Filters and duplicate removal run before billing', 'Only accepted dataset rows are billed', free diagnostics records, 'Tweet ID batches accept up to 10,000 IDs per run', 'Automatic search and quote pages request up to 300 rows', 'No X login', historical since/until windows, cursor pagination, and the supported modes tweet, tweets, search, profileTweets, profileReplies, profileMedia, profileLikes, listTweets, article, replies, quotes, thread, retweeters and favoriters"
        },
        {
          "url": "https://apify.com/pricing",
          "capturedAt": "2026-09-08",
          "note": "Apify platform plan floor: Free $0 with $5 to spend, Starter $19, Scale $199, Business $999, Enterprise 'Talk to us'; 10% off when billed annually; 'unused usage credits are not rolled over to the next billing cycle, and they expire at the end of the billing cycle'"
        },
        {
          "url": "https://apify.com/about",
          "capturedAt": "2026-09-08",
          "note": "'Founded in 2015', launched by Jan Curn and Jakub Balada, team moved to the Czech Republic in 2016 and is based in Prague; source for hq CZ and founded 2015"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The cheapest printed per-row price of the four X actors here, $0.15 per 1,000 on every Apify plan with no start or query fee, and by far the widest mode coverage: reply threads, quotes, articles, lists, retweeters and likers all bill at the same flat rate. The catch is that it is the only one of the four that pushes Apify platform compute onto the customer as a separate bill, so the row price is not the whole cost, and modes like favoriters and profile likes are explicitly best effort because X often does not expose those users.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "Apify Free",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "brightdata-x-dataset",
      "name": "Bright Data X (Twitter) Dataset",
      "homepage": "https://brightdata.com",
      "pricingUrl": "https://brightdata.com/products/datasets/twitter",
      "docsUrl": "https://brightdata.com/pricing/datasets",
      "logoDomain": "brightdata.com",
      "hq": "IL",
      "founded": null,
      "billing": {
        "model": "payg",
        "freeTier": null,
        "minimumMonthlyUsd": 0,
        "creditsExpire": false,
        "expiryNote": "A dataset is bought outright, not metered, so nothing expires. Bright Data's 5,000 free monthly credits apply to the Scrapers, Unlocker API and SERP API, not to dataset purchases, so freeTier is null here.",
        "annualDiscountPct": null,
        "prepaidOnly": true,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "result",
        "search": null,
        "user_tweets": null,
        "profile": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": null,
        "replies": null,
        "note": "Not a live API: two pre-collected files, 'X (formerly Twitter) - Posts' and 'X (formerly Twitter) - Profiles', 31.9M+ records between them. The product page prints 'Starts at: Up to $0.0025 per record' with 'Min Order: $250', and the dataset pricing calculator at the 100K step prints 'Price per 1k records $2.5' and 'Total Price $250' at a 0% refresh discount, which is the same rate. units is that printed per-record price, applied to the tweet vertical (Posts file) and the profile vertical (Profiles file). Nothing is priced or delivered per account, per query, per follower or per reply, so those four verticals are null."
      },
      "plans": [
        {
          "name": "Dataset, 100K records",
          "monthlyUsd": 250,
          "includedUnits": 100000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": 250,
          "oneTime": true,
          "validityMonths": null,
          "delivery": "queue",
          "note": "The smallest step of the dataset calculator and the printed minimum order: 100K records, '$2.5' per 1k records at a 0% refresh discount, '$250' total, one-time. Delivered as a file (JSON, NDJSON, JSON Lines, CSV or Parquet, optionally .gz), not as live calls."
        },
        {
          "name": "Larger dataset sizes",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "delivery": "queue",
          "note": "The calculator also offers 500K, 1M, 5M, 20M and 'Complete Dataset' steps, and refresh-rate discounts labelled Biannual 'Save 25%', Quarterly 'Save 50%' and Monthly 'Save 80%'. Their prices are computed in the browser and did not render as readable text, so no number is recorded here."
        },
        {
          "name": "Custom subset or updates",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "queue",
          "note": "'We will create a custom dataset ... tailored to your specific requirements' and 'you can get updates to your Twitter dataset on a daily, weekly, monthly, or custom basis'. Contact sales, no list price."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 100000,
          "maxUnits": null,
          "perUnitUsd": 0.0025
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "tweet",
          "profile"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": false,
        "rateLimitPublished": false,
        "failedRequestsFree": null,
        "pagination": "bulk",
        "bulkOrBatch": true,
        "realtimeStream": false,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://brightdata.com/products/datasets/twitter",
          "capturedAt": "2026-09-08",
          "note": "'Number of datasets 2', 'Total records 31.9M+', 'Starts at Up to $0.0025 per record', 'Min Order $250'; the two X datasets listed (X - Posts, X - Profiles); the site's Pricing menu line 'Datasets - Starts from $250/100K rec'; and the FAQ answers on custom subsets, daily/weekly/monthly updates, and the JSON, NDJSON, JSON Lines, CSV and Parquet formats. Also a banner, 'New promotion! 80% off monthly subscription plans', which is not recorded as a list price."
        },
        {
          "url": "https://brightdata.com/pricing/datasets",
          "capturedAt": "2026-09-08",
          "note": "dataset calculator read rendered with the Aside browser: at the 100K-record step with One-time refresh it prints 'Price per 1k records $2.5', 'Refresh discount 0%', 'Total Price $250'. The 500K, 1M, 5M, 20M and Complete steps and the Biannual/Quarterly/Monthly refresh discounts are labelled but their prices are computed client-side and were not readable as text. The page also states 'USD pricing is binding, local currency amounts are indicative only'."
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The bulk option: 31.9M+ pre-collected X post and profile records sold as a file at $2.50 per 1,000 records, with a $250 minimum order and subscription discounts for repeat refreshes. It is not an API and never competes with one - there is no query, no search, no live call and no per-account pull, you buy a slice of what has already been collected and wait for delivery.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 2.5,
            "per1kUsd": 2.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": 2.5,
            "queueVia": "Dataset, 100K records",
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 25,
            "per1kUsd": 2.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": 2.5,
            "queueVia": "Dataset, 100K records",
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 250,
            "per1kUsd": 2.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": 2.5,
            "queueVia": "Dataset, 100K records",
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 2500,
            "per1kUsd": 2.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": 2.5,
            "queueVia": "Dataset, 100K records",
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 2.5,
            "per1kUsd": 2.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": 2.5,
            "queueVia": "Dataset, 100K records",
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 25,
            "per1kUsd": 2.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": 2.5,
            "queueVia": "Dataset, 100K records",
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 250,
            "per1kUsd": 2.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": 2.5,
            "queueVia": "Dataset, 100K records",
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 2500,
            "per1kUsd": 2.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": 2.5,
            "queueVia": "Dataset, 100K records",
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ]
      }
    },
    {
      "slug": "brightdata-x-scraper",
      "name": "Bright Data X (Twitter) Scraper API",
      "homepage": "https://brightdata.com",
      "pricingUrl": "https://brightdata.com/products/web-scraper/twitter",
      "docsUrl": "https://docs.brightdata.com/products/scrapers/twitter/introduction",
      "logoDomain": "brightdata.com",
      "hq": "IL",
      "founded": null,
      "billing": {
        "model": "hybrid",
        "freeTier": {
          "calls": 5000,
          "period": "month",
          "creditCardRequired": false,
          "note": "'Free tier - 5K records a month for free', 'No credit card required'. The FAQ adds: 'Every new Bright Data account automatically includes 5,000 free credits per month (approximately $7.50 in value) - no credit card required, no promo code, no commitment. These credits apply to Scrapers (including the Twitter Scraper API), as well as the Unlocker API and SERP API. Credits renew on the 1st of each month.' Counted in records, not calls."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "'Note that unused free credits do not roll over.' When the 5,000 free records run out, 'If you have pre-deposited funds, usage continues seamlessly at standard PAYG rates ... If you have no deposited funds, requests will return an error until you add funds or until your credits renew on the 1st of the following month.'",
        "annualDiscountPct": null,
        "prepaidOnly": false,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "result",
        "search": null,
        "user_tweets": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": null,
        "replies": null,
        "note": "One flat price for every record, whatever you scraped: the pay-as-you-go card prints '$1.5 /1K record' and the tooltip defines a record as 'one extracted item, shown as a row in the table'. units is that printed rate expressed per single record. Only three of the six verticals exist as scrapers: X Posts collect-by-URL (tweet), X Posts discover-by-profile-URL and by profiles array (user_tweets), and X Profiles collect-by-URL and discover-by-username (profile). There is no keyword-search, followers or replies scraper, so those are null. Failed work is not billed: 'Only pay for what's successfully delivered. No hidden fees, no charges for failed deliveries.'"
      },
      "plans": [
        {
          "name": "Free Tier",
          "monthlyUsd": 0,
          "includedUnits": 5000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "'5K records per month. No credit card required. Expert support.'"
        },
        {
          "name": "Pay as you go",
          "monthlyUsd": 0,
          "includedUnits": 0,
          "overagePerUnitUsd": 0.0015,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "'$1.5 /1K record. Pay only for success, set monthly spend limits, unlimited concurrency, expert support.' No commitment."
        },
        {
          "name": "Scale (384K)",
          "monthlyUsd": 499,
          "includedUnits": 384000,
          "overagePerUnitUsd": 0.0013,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Default position of the Scale slider: '$499 /month, 384,000 records included, $1.3 /1K additional records, unlimited concurrency, cancel anytime.'"
        },
        {
          "name": "Scale (908K)",
          "monthlyUsd": 999,
          "includedUnits": 908000,
          "overagePerUnitUsd": 0.0011,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Second slider position: $999/month, 908,000 records included, $1.1 per 1K additional records."
        },
        {
          "name": "Scale (1.999M)",
          "monthlyUsd": 1999,
          "includedUnits": 1999000,
          "overagePerUnitUsd": 0.001,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Third and highest slider position: $1,999/month, 1,999,000 records included, $1 per 1K additional records."
        },
        {
          "name": "Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "'Custom - Talk to sales'. Volume discounts, account manager, premium SLA, priority support, SSO. No list price."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 0,
          "maxUnits": null,
          "perUnitUsd": 0.0015
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "tweet",
          "user_tweets",
          "profile"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": false,
        "rateLimitPublished": false,
        "failedRequestsFree": true,
        "pagination": null,
        "bulkOrBatch": true,
        "realtimeStream": false,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://brightdata.com/products/web-scraper/twitter",
          "capturedAt": "2026-09-08",
          "note": "the four pricing cards (Free Tier 5K records, Pay as you go $1.5/1K record, Scale $499/month with 384,000 records included and $1.3/1K additional, Enterprise custom); the three Scale slider positions carried in the page's data-tiers attribute ($499/384,000/$1.3, $999/908,000/$1.1, $1999/1,999,000/$1.0); the five X scrapers; 'Only pay for what's successfully delivered'; 'Bulk request handling, up to 5K URLs'; and the free-credit FAQ answers. Also a promotion, 'Get 25% off on Scraper API for 3 months. Use code APIS25 at checkout', which is not recorded as a list price."
        },
        {
          "url": "https://docs.brightdata.com/sitemap.xml",
          "capturedAt": "2026-09-08",
          "note": "confirms the five X scraper API references: twitter-posts-collect-by-url, twitter-posts-discover-by-profile-url, twitter-posts-discover-by-profiles-array, twitter-profiles-collect-by-url, twitter-profiles-discover-by-username. No search, followers or replies scraper exists."
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The one X source here that charges per delivered record with no commitment and no charge for failures - $1.50 per 1,000 records, 5,000 free records a month with no card, and unlimited concurrency - and it buys down to $1.00 per 1,000 at $1,999/month. The catch is coverage and buying experience: five scrapers covering only posts and profiles, no keyword search, no followers and no replies, free credits that expire on the 1st, and $499/month before the rate moves at all.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1.5,
            "per1kUsd": 1.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 15,
            "per1kUsd": 1.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 150,
            "per1kUsd": 1.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 1100.2,
            "per1kUsd": 1.1002,
            "via": "Scale (908K)",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1.5,
            "per1kUsd": 1.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 15,
            "per1kUsd": 1.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 150,
            "per1kUsd": 1.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 1100.2,
            "per1kUsd": 1.1002,
            "via": "Scale (908K)",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1.5,
            "per1kUsd": 1.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 15,
            "per1kUsd": 1.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 150,
            "per1kUsd": 1.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 1100.2,
            "per1kUsd": 1.1002,
            "via": "Scale (908K)",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ]
      }
    },
    {
      "slug": "data365",
      "name": "Data365",
      "homepage": "https://data365.co",
      "pricingUrl": "https://data365.co/pricing",
      "docsUrl": "https://data365.co/twitter",
      "logoDomain": "data365.co",
      "hq": "unknown",
      "founded": 2018,
      "billing": {
        "model": "subscription",
        "freeTier": {
          "calls": null,
          "period": "once",
          "creditCardRequired": false,
          "note": "\"We provide all users with a free 14-day trial... You don't need to provide credit card details to get the free trial.\" No call or credit allowance is printed, and access is not self-serve: you fill in the contact form and a salesperson provisions the key. The FAQ also warns the trial \"has some limitations for security reasons\" without naming them."
        },
        "minimumMonthlyUsd": null,
        "creditsExpire": true,
        "expiryNote": "Allowances are quoted as credits per month on a monthly-billed subscription. The page says nothing about rollover of unused credits, so treat the monthly allowance as the cap; nothing published contradicts that.",
        "annualDiscountPct": 0,
        "prepaidOnly": false,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "credit",
        "search": {
          "units": 7,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 9,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": null,
        "replies": {
          "units": 5,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "note": "The pricing page publishes exactly four credit values, under \"Credits value examples\": 1 post = 1 credit, 1 post + comments = 5 credits, 1 search request = 7 credits, 1 profile with info = 9 credits. Those map to the verticals as: tweet = 1 post (1), user_tweets = the posts returned from a profile, billed per post (1 each, per the calculator line \"Credits are counted separately for the number of posts found from profiles or search results\"), replies = 1 post + comments (5), search = 1 search request (7) with the posts it returns billed separately at 1 each, profile = 1 profile with info (9). followers is null: no follower price is printed and the site's X page lists its endpoints only as vague groups (\"Twitter profiles, Profile audience metrics, Tweet content and expressions, Tweet and profile media, User tweet timelines, Plus other public information\"), so it is unclear whether a follower list is even a separate endpoint. The page's \"more options\" link goes to the FAQ, which says the full credit table lives in documentation \"which will be available after you have an introductory call with our team\" - so no further credit value is public. Prices are quoted in EUR only, so there is no USD per credit anywhere on the site."
      },
      "plans": [
        {
          "name": "Basic",
          "monthlyUsd": null,
          "includedUnits": 500000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "EUR 300 per month for 500,000 credits and 1 social network, so buying X costs the whole plan. monthlyUsd is null because Data365 prints EUR only and the schema is USD. Sign-up is a \"Start free trial\" contact form, not a checkout."
        },
        {
          "name": "Standard",
          "monthlyUsd": null,
          "includedUnits": 1000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "EUR 850 per month for 1,000,000 credits and 3 social networks. monthlyUsd is null for the same currency reason."
        },
        {
          "name": "Custom",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Custom pricing\", up to 7 social networks and up to 100,000,000 credits a month. Contact sales; no public price. includedUnits is null because 100,000,000 is a ceiling on a negotiated plan, not an allowance attached to a price."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "profile",
          "tweet",
          "user_tweets",
          "search",
          "replies"
        ],
        "writeActions": null,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": null,
        "failedRequestsFree": null,
        "pagination": null,
        "bulkOrBatch": null,
        "realtimeStream": null,
        "selfHosted": null,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://data365.co/pricing",
          "capturedAt": "2026-09-08",
          "note": "the three plan cards (Basic EUR 300 / 1 network / 500,000 credits a month; Standard EUR 850 / 3 networks / 1,000,000; Custom / up to 7 networks / up to 100,000,000), the four published \"Credits value examples\" (1 post 1 credit, 1 post + comments 5, 1 search request 7, 1 profile with info 9), the credits calculator line that posts found from profiles or search are counted separately, and the FAQ on the 14-day trial with no card, monthly billing, and the credit table being released only after a sales call"
        },
        {
          "url": "https://data365.co/twitter",
          "capturedAt": "2026-09-08",
          "note": "X coverage page: \"20+ public data endpoints\" listed only as groups - Twitter profiles, profile audience metrics, tweet content and expressions, tweet and profile media, user tweet timelines - the /twitter/profile/{username} call pattern, the two-step POST-then-GET collection flow, and a 99% uptime claim"
        },
        {
          "url": "https://data365.co/about",
          "capturedAt": "2026-09-08",
          "note": "\"Since 2018\", giving the founding year; no operating country or legal entity is named anywhere on the site, so hq is unknown"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "A sales-led enterprise subscription rather than a developer API: there is no self-serve checkout, no API key without a call, and the full credit table is handed over only after that call, so the four credit values on the pricing page are all the pricing a buyer can see before talking to someone. It is also the most expensive floor here - the Basic plan is EUR 300 a month for one social network, so an X-only buyer pays the whole plan, and everything is quoted in EUR, which leaves every monthlyUsd null under the schema's USD rule. Search is dear (7 credits a request, with the posts it returns billed at 1 each on top) and profiles dearer (9 credits), while a plain post is 1; no follower price is printed at all.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ]
      }
    },
    {
      "slug": "ensembledata",
      "name": "EnsembleData",
      "homepage": "https://ensembledata.com",
      "pricingUrl": "https://ensembledata.com/pricing",
      "docsUrl": "https://ensembledata.com/apis/docs",
      "logoDomain": "ensembledata.com",
      "hq": "SG",
      "founded": null,
      "billing": {
        "model": "subscription",
        "freeTier": {
          "calls": null,
          "period": "day",
          "creditCardRequired": false,
          "note": "The Free Trial plan is $0/month with 50 units a day across all eight platforms, and the page's button reads 'Scrape data for free (no card required)'. 50 units is not 50 X calls: X User Info and Post Info cost 2 units each and User Tweets costs 4, so calls is null rather than an invented count."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "'Every day the daily units are reset at 00:00 UTC.' The allowance is a per-day ceiling, not a monthly pot: unused units are gone at midnight UTC and never roll over, so a plan you use on 12 days of the month delivers 12 days of allowance, not a month of it.",
        "annualDiscountPct": null,
        "prepaidOnly": false,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "credit",
        "search": null,
        "user_tweets": {
          "units": 4,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 2,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 2,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": null,
        "replies": null,
        "note": "'Units are our in-house mechanism for pricing different data endpoints.' EnsembleData documents exactly three X endpoints and prints a unit price on each: GET /twitter/user/info 'API Pricing (per request): 2 units', GET /twitter/user/tweets '4 units', GET /twitter/post/info '2 units'. The pricing page's Twitter tab prints the same three rows (User Info 2, User Tweets 4, Post Info 2). There is no X search, followers or replies endpoint, so those verticals are null. USD per unit comes from the plans, whose allowances are per day."
      },
      "plans": [
        {
          "name": "Free Trial",
          "monthlyUsd": 0,
          "includedUnits": 1500,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Printed as '50 units / day, $0 / month (USD)'. includedUnits is that daily figure times 30 days, because the schema's field is per month; units reset at 00:00 UTC and do not roll over, so a shorter or patchier month delivers less."
        },
        {
          "name": "Wood",
          "monthlyUsd": 100,
          "includedUnits": 45000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Printed as '1,500 units / day, $100 / month (USD)'. includedUnits is 1,500 x 30 days."
        },
        {
          "name": "Bronze",
          "monthlyUsd": 200,
          "includedUnits": 150000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Printed as '5,000 units / day, $200 / month (USD)'. includedUnits is 5,000 x 30 days."
        },
        {
          "name": "Silver",
          "monthlyUsd": 400,
          "includedUnits": 330000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Printed as '11,000 units / day, $400 / month (USD)'. includedUnits is 11,000 x 30 days."
        },
        {
          "name": "Gold",
          "monthlyUsd": 800,
          "includedUnits": 750000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Printed as '25,000 units / day, $800 / month (USD)'. includedUnits is 25,000 x 30 days."
        },
        {
          "name": "Platinum",
          "monthlyUsd": 1400,
          "includedUnits": 1500000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Printed as '50,000 units / day, $1400 / month (USD)'. includedUnits is 50,000 x 30 days."
        },
        {
          "name": "Diamond",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "The Diamond card prints no unit allowance and no price, only 'If none of our plans suit your needs, contact us here!'"
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "profile",
          "user_tweets",
          "tweet"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": false,
        "rateLimitPublished": false,
        "failedRequestsFree": true,
        "pagination": null,
        "bulkOrBatch": false,
        "realtimeStream": false,
        "selfHosted": false,
        "sla": true,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://ensembledata.com/pricing",
          "capturedAt": "2026-09-08",
          "note": "the seven plan cards (Free Trial 50 units/day $0, Wood 1,500 $100, Bronze 5,000 $200, Silver 11,000 $400, Gold 25,000 $800, Platinum 50,000 $1400, Diamond contact us), the per-endpoint unit table with its Twitter tab (User Info 2, User Tweets 4, Post Info 2), and the FAQ answers 'Every day the daily units are reset at 00:00 UTC', 'No units will be charge for failed requests caused by internal errors', 'We offer SLAs and robust infrastructure', and the footer entity 'EnsembleData Pte. Ltd.'"
        },
        {
          "url": "https://ensembledata.com/apis/docs",
          "capturedAt": "2026-09-08",
          "note": "the Twitter section documents three endpoints and prints 'API Pricing (per request): 2 units' on /twitter/user/info, '4 units' on /twitter/user/tweets and '2 units' on /twitter/post/info. It also warns on User Tweets that 'not all of the users return the data because it would require login ... It works for most of the verified users', and HTTP 495 is 'All daily units used'."
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "A tidy multi-platform scraper with printed per-endpoint unit costs, no charge for its own failures, and a real free trial with no card. The catch is the shape of the plan: the allowance is a daily ceiling that resets at 00:00 UTC and never rolls over, so an uneven month wastes most of what you paid for, and X coverage is only three endpoints - profile, user tweets and one tweet's stats - with no search, followers or replies.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 100,
            "per1kUsd": 100,
            "via": "Wood",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 100,
            "per1kUsd": 10,
            "via": "Wood",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 100,
            "per1kUsd": 1,
            "via": "Wood",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 400,
            "per1kUsd": 0.4,
            "via": "Silver",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 100,
            "per1kUsd": 100,
            "via": "Wood",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 100,
            "per1kUsd": 10,
            "via": "Wood",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 400,
            "per1kUsd": 4,
            "via": "Silver",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "no plan reaches this volume"
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 100,
            "per1kUsd": 100,
            "via": "Wood",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 100,
            "per1kUsd": 10,
            "via": "Wood",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 400,
            "per1kUsd": 4,
            "via": "Silver",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "no plan reaches this volume"
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ]
      }
    },
    {
      "slug": "getxapi",
      "name": "GetXAPI",
      "homepage": "https://getxapi.com",
      "pricingUrl": "https://getxapi.com/pricing",
      "docsUrl": "https://docs.getxapi.com",
      "logoDomain": "getxapi.com",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "hybrid",
        "freeTier": {
          "calls": 100,
          "period": "once",
          "creditCardRequired": false,
          "note": "\"Every new GetXAPI account gets $0.10 in free credits with no credit card required. At $0.001 per call (~20 tweets per call), that covers approximately 100 API calls or ~2,000 tweets.\" The 100 calls figure is the provider's own printed count, not a derived one. \"Credits never expire.\""
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": false,
        "expiryNote": "\"No minimum spend, and subscriptions are optional.\" Top-up credits \"never expire\". Plan credits are different: unused plan credits \"stack on every renewal or plan change and remain available while the plan stays active; they expire only if the plan lapses\", and the one-time Starter plan's credits are \"Valid 30 days\".",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "request",
        "search": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 20,
          "minPerRequestUsd": 0.001
        },
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 20,
          "minPerRequestUsd": 0.001
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.001
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.001
        },
        "followers": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 200,
          "minPerRequestUsd": 0.001
        },
        "replies": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 20,
          "minPerRequestUsd": 0.001
        },
        "note": "Flat USD per call, not per item: the endpoint price list prints $0.001 for tweet/advanced_search, tweet/detail, tweet/replies, tweet/retweeters, user/search, user/info, user/followers, user/following, user/tweets and most other reads. \"Standard reads return ~20 tweets per call, so it's just $0.05 per 1,000 tweets.\" Page sizes printed on the homepage: ~20 tweets per call on standard endpoints, ~70/page on Followers v2 and Following v2, up to 200/page on Followers and Following (REST), ~20/page on User Affiliates; the 200 recorded above is the REST follower page. Dearer endpoints, all printed per call: user/tweets/complete $0.003, tweet/thread $0.005, article/get $0.001 but article/publish, unpublish, delete, list and update $0.005 and article/create $0.010, tweet/create and tweet/edit $0.002, dm/list and dm/send $0.002, community/join $0.002, notifications $0.002, user_login $0.010, user_login_v2 and the two reset-password calls $0.005, spaces/download \"From $0.05\" plus $0.015 per transcript minute. account/me and account/payments are free. The nine monitor/* endpoints \"sit outside pay-per-call billing entirely\" and cost no credits."
      },
      "plans": [
        {
          "name": "Pay as you go (top-up)",
          "monthlyUsd": 0,
          "includedUnits": 0,
          "overagePerUnitUsd": 0.001,
          "hardCap": false,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Buy credits starting at $10 (10 credits, ~10,000 standard calls / ~200,000 tweets) and they never expire.\" One credit is one dollar of API spend."
        },
        {
          "name": "Starter",
          "monthlyUsd": 5,
          "includedUnits": 4500,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "oneTime": true,
          "validityMonths": 1,
          "delivery": "live",
          "note": "\"$5, One per account\", gives \"$4.5 credits\", \"~4,500 standard calls\", \"$1.11 / 1,000 standard calls\", \"Valid 30 days, one-time, plan credits expire after\". Costs more per call than pay-as-you-go."
        },
        {
          "name": "Pro",
          "monthlyUsd": 15,
          "includedUnits": 40000,
          "overagePerUnitUsd": null,
          "hardCap": false,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"$15/mo\" for \"$30 + $10 credits\", \"~40,000 standard calls\", \"$0.50 / 1,000 standard calls\". The +$10 is the crypto bonus; paying by card gives $30 credits, which the FAQ prints as \"~30,000 standard calls\". \"Fresh credits every month, unused credits roll over, cancel anytime.\""
        },
        {
          "name": "Growth",
          "monthlyUsd": 49,
          "includedUnits": 140000,
          "overagePerUnitUsd": null,
          "hardCap": false,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"$49/mo\" for \"$120 + $20 credits\", \"~140,000 standard calls\", \"$0.41 / 1,000 standard calls\", plus dedicated proxies. The +$20 is the crypto bonus. Unused credits roll over."
        },
        {
          "name": "Scale",
          "monthlyUsd": 99,
          "includedUnits": 350000,
          "overagePerUnitUsd": null,
          "hardCap": false,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"$99/mo\" for \"$300 + $50 credits\", \"~350,000 standard calls\", \"$0.33 / 1,000 standard calls\", plus dedicated proxies and a bigger bonus reward. The +$50 is the crypto bonus. Unused credits roll over."
        },
        {
          "name": "Custom",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Need more than the $99 Scale plan? Contact us for a custom plan.\" No printed price."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 0,
          "maxUnits": null,
          "perUnitUsd": 0.001
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "likes",
          "lists",
          "communities",
          "spaces",
          "trends",
          "thread",
          "article",
          "transcript",
          "search_users",
          "dm",
          "write"
        ],
        "writeActions": true,
        "historicalSearch": null,
        "loginWalledData": true,
        "rateLimitPublished": null,
        "failedRequestsFree": null,
        "pagination": "cursor",
        "bulkOrBatch": null,
        "realtimeStream": true,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "sources": [
        {
          "url": "https://getxapi.com/pricing",
          "capturedAt": "2026-09-08",
          "note": "rendered page: full 64-endpoint price list, the four plans with credit amounts and per-1,000-call rates, $10 top-up floor, $0.10 signup credit, monitoring plans $19/$59/$119/$249, spaces download pricing, no minimum spend"
        },
        {
          "url": "https://getxapi.com/",
          "capturedAt": "2026-09-08",
          "note": "$0.001 per call (~20 tweets per call), page sizes ~70/page Followers v2 and Following v2, up to 200/page Followers and Following (REST), ~20/page User Affiliates, 73 endpoints, $0.10 signup credit with no card"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "Prices per call rather than per item, so a full 20-tweet page costs $0.001 and the provider prints that as $0.05 per 1,000 tweets, and it sells the widest write surface here (create and edit tweets, DMs, articles, community joins, account login and recovery, Spaces transcripts). The catch is that per-call billing only pays off on dense pages, the one-time $5 Starter plan is dearer per call than pay-as-you-go and dies after 30 days, and the headline plan call counts assume you pay in crypto to collect the bonus credits.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.05,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.5,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 5,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 50,
            "per1kUsd": 0.05,
            "via": "Growth (monthly minimum)",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.05,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.5,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 5,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 50,
            "per1kUsd": 0.05,
            "via": "Growth (monthly minimum)",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1,
            "per1kUsd": 1,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 10,
            "per1kUsd": 1,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 100,
            "per1kUsd": 1,
            "via": "Growth (monthly minimum)",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 1000,
            "per1kUsd": 1,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1,
            "per1kUsd": 1,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 10,
            "per1kUsd": 1,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 100,
            "per1kUsd": 1,
            "via": "Growth (monthly minimum)",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 1000,
            "per1kUsd": 1,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.005,
            "per1kUsd": 0.005,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.05,
            "per1kUsd": 0.005,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 0.5,
            "per1kUsd": 0.005,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 5,
            "per1kUsd": 0.005,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.05,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.5,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 5,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 50,
            "per1kUsd": 0.05,
            "via": "Growth (monthly minimum)",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "lobstr",
      "name": "lobstr.io",
      "homepage": "https://www.lobstr.io",
      "pricingUrl": "https://www.lobstr.io/pricing",
      "docsUrl": "https://www.lobstr.io/store",
      "logoDomain": "lobstr.io",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "credits",
        "freeTier": {
          "calls": 100,
          "period": "month",
          "creditCardRequired": null,
          "note": "The Free plan is $0 with 100 credits, and 1 credit is 1 unique result, so it is 100 results a month rather than 100 calls. The FAQ says credits refresh every month. Free is limited: exports are capped at 30 rows per request, scheduling is unavailable, and scrapers marked Premium are paid-only. The page does not say whether a card is required, so that is null."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "FAQ \"Do credits roll over if I don't use them?\" - \"Not yet! Your credits refresh every month based on the plan you're on, so you always start fresh.\"",
        "annualDiscountPct": 20,
        "prepaidOnly": false,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "credit",
        "search": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": null,
        "followers": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "replies": null,
        "note": "lobstr.io sells scrapers it calls squids, and its pricing FAQ states \"1 credit = 1 unique result. You'll never pay for duplicates.\" The pricing-page simulator prints a per-result credit cost for each squid: Twitter Search Results Scraper (Export Tweets) 1 credit, Twitter User Tweets Scraper (Export User Tweets) 1 credit, Twitter Profile Scraper (Export Profile Info) 1 credit, and Twitter Followers & Following Scraper (Export Profiles) 1 credit. The USD value of a credit comes from the plans below. tweet and replies are null because the simulator's full squid list contains no single-tweet-detail and no tweet-replies or comments squid for Twitter, only the four above. Nothing is metered per request, so minPerRequestUsd is null throughout."
      },
      "plans": [
        {
          "name": "FREE",
          "monthlyUsd": 0,
          "includedUnits": 100,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "queue",
          "note": "100 credits/month, 1 concurrent squid slot, 7 days of data retention, limited export (30 rows per request), no scheduling, Premium scrapers locked."
        },
        {
          "name": "STARTER",
          "monthlyUsd": 20,
          "includedUnits": 10000,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "queue",
          "note": "10,000 credits/month, 2 slots, 28 days retention, unlimited export. Yearly billing takes 20% off. No overage rate is printed; the FAQ says you upgrade or buy add-ons, whose prices are not published."
        },
        {
          "name": "PRO",
          "monthlyUsd": 100,
          "includedUnits": 100000,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "queue",
          "note": "Marked MOST POPULAR. 100,000 credits/month, 10 slots, 28 days retention, unlimited export. Yearly billing takes 20% off."
        },
        {
          "name": "TEAM",
          "monthlyUsd": 500,
          "includedUnits": 1000000,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "queue",
          "note": "1,000,000 credits/month, 50 slots, 28 days retention, unlimited export. Yearly billing takes 20% off."
        },
        {
          "name": "Custom",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "queue",
          "note": "\"Contact sales\" for large enterprises with custom integrations, security and governance. No list price."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "followers",
          "following"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": false,
        "failedRequestsFree": null,
        "pagination": "bulk",
        "bulkOrBatch": true,
        "realtimeStream": false,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://www.lobstr.io/pricing",
          "capturedAt": "2026-09-08",
          "note": "plan table read in the Aside browser: FREE $0 / 100 credits / 1 slot / 7 days; STARTER $20 / 10,000 / 2 slots / 28 days; PRO $100 / 100,000 / 10 slots / 28 days; TEAM $500 / 1,000,000 / 50 slots / 28 days; Yearly billing -20%; FAQ \"1 credit = 1 unique result\", credits do not roll over, free plan exports capped at 30 rows per request"
        },
        {
          "url": "https://www.lobstr.io/pricing",
          "capturedAt": "2026-09-08",
          "note": "the \"Which plan do I need\" simulator, driven in the Aside browser: selecting Twitter Search Results Scraper, Twitter User Tweets Scraper, Twitter Profile Scraper and Twitter Followers & Following Scraper each prints a cost of 1 credit per exported result; the simulator's squid list contains no Twitter tweet-detail or tweet-replies scraper"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The cleanest per-result price in this set: 1 credit is 1 unique result with no charge for duplicates, so a Twitter search, timeline, profile or follower row all cost the same, from $20/month for 10,000 results down to $500/month for a million. The catch is that this is a hosted scraping tool, not a live API: work runs as scheduled squids with concurrency slots and 7 to 28 days of data retention, the free tier caps exports at 30 rows a request, unused credits are wiped every month, and there is no squid at all for a single tweet's detail or for a tweet's replies. Overage and add-on prices are not published, so the only way past a plan's credits is to upgrade.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 20,
            "queueVia": "STARTER",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 2,
            "queueVia": "STARTER",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 1,
            "queueVia": "PRO",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 0.5,
            "queueVia": "TEAM",
            "blocked": "no plan reaches this volume"
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 20,
            "queueVia": "STARTER",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 2,
            "queueVia": "STARTER",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 1,
            "queueVia": "PRO",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 0.5,
            "queueVia": "TEAM",
            "blocked": "no plan reaches this volume"
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 20,
            "queueVia": "STARTER",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 2,
            "queueVia": "STARTER",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 1,
            "queueVia": "PRO",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 0.5,
            "queueVia": "TEAM",
            "blocked": "no plan reaches this volume"
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 20,
            "queueVia": "STARTER",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 2,
            "queueVia": "STARTER",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 1,
            "queueVia": "PRO",
            "blocked": "no plan reaches this volume"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": 0.5,
            "queueVia": "TEAM",
            "blocked": "no plan reaches this volume"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ]
      }
    },
    {
      "slug": "scrapebadger",
      "name": "ScrapeBadger",
      "homepage": "https://scrapebadger.com",
      "pricingUrl": "https://scrapebadger.com/pricing",
      "docsUrl": "https://docs.scrapebadger.com/credits-and-pricing",
      "logoDomain": "scrapebadger.com",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "hybrid",
        "freeTier": {
          "calls": null,
          "period": "once",
          "creditCardRequired": false,
          "note": "\"1,000 free credits on signup, no card required.\" The grant is in credits, not calls, and X is billed per item (1 base credit plus 1 per item returned), so the call count depends on page size and is recorded as null rather than invented. Free credits include every active scraper, anti-bot bypass, JS rendering and residential proxies."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "Two regimes on one page. Pay-as-you-go credits \"do not expire: buy once, use whenever\", and the docs repeat \"No, credits never expire\". Subscription credits refresh each billing period and do not carry over unless rollover is explicitly enabled on the plan; the exception is a mid-cycle upgrade, where the new allowance is added on top of the credits you still hold. creditsExpire is true because the subscription plans, which are the priced tiers here, expire.",
        "annualDiscountPct": 16.67,
        "prepaidOnly": false,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "credit",
        "search": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "replies": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "note": "The docs state one rule for every X endpoint: \"Each request costs 1 base credit plus 1 credit for every item (tweet, user, etc.) in the response - so a request that returns N items costs N + 1 credits\", with the worked example that an advanced_search call returning 20 tweets costs 21 credits. The credit table on the docs page applies that same rule to all seven X categories (Tweets 11 endpoints, Users 11, Lists 3, Communities 3, Trends 2, Geo 2, Spaces 2), and the pricing page's per-API list prints \"Twitter Scraper API - 1 credit base, +1 per item\". So units is 1 per returned item for all six verticals, with a further 1 base credit on top of each request; that base credit is in credits, not dollars, so minPerRequestUsd stays null. A single-object lookup such as a profile or one tweet therefore costs 2 credits in total. No page size is printed for any X endpoint, so resultsPerRequest is null. Failed requests (4xx/5xx, blocks, timeouts, empty responses) cost 0 credits."
      },
      "plans": [
        {
          "name": "PAYG",
          "monthlyUsd": 0,
          "includedUnits": 0,
          "overagePerUnitUsd": 0.00015,
          "hardCap": true,
          "requiresPrepaidUsd": 10,
          "delivery": "live",
          "note": "\"Pay As You Go is a prepaid wallet: you top up from $10 at $0.15 per 1,000 credits and use them at your own pace (they do not expire).\" The plan table prints $0.150 per 1K credits and a 60 req/min rate limit; the credit-value table prints \"$10 pack, ~67K requests\"."
        },
        {
          "name": "Starter",
          "monthlyUsd": 49,
          "includedUnits": 600000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "600,000 credits a month at $0.082 per 1K, \"46% cheaper than PAYG\", 300 req/min. On the annual toggle the same plan prints $41/mo at $0.068 per 1K."
        },
        {
          "name": "Growth",
          "monthlyUsd": 129,
          "includedUnits": 1800000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "Marked \"Most popular\". 1,800,000 credits a month at $0.072 per 1K, \"52% cheaper than PAYG\", 300 req/min. Annual: $108/mo at $0.060 per 1K."
        },
        {
          "name": "Pro",
          "monthlyUsd": 299,
          "includedUnits": 5000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "5,000,000 credits a month at $0.060 per 1K, \"60% cheaper than PAYG\", 10K req/min, ENTERPRISE rate tier. Annual: $249/mo at $0.050 per 1K."
        },
        {
          "name": "Scale",
          "monthlyUsd": 699,
          "includedUnits": 13000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "13,000,000 credits a month at $0.054 per 1K, \"64% cheaper than PAYG\", 10K req/min. Annual: $583/mo at $0.045 per 1K."
        },
        {
          "name": "Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Need more volume? Custom credit packages, negotiated pricing, SLA guarantee, and a dedicated account manager - Talk to Sales.\" The FAQ says to email support when 13M credits a month is not enough. No public price."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 0,
          "maxUnits": null,
          "perUnitUsd": 0.00015
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "likes",
          "lists",
          "communities",
          "spaces",
          "trends",
          "article",
          "search_users"
        ],
        "writeActions": null,
        "historicalSearch": true,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": true,
        "pagination": "cursor",
        "bulkOrBatch": true,
        "realtimeStream": true,
        "selfHosted": null,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://scrapebadger.com/pricing",
          "capturedAt": "2026-09-08",
          "note": "read in the Aside browser because the plan table is client-rendered and absent from the served HTML. Monthly toggle: PAYG from $10 at $0.150/1K, Starter $49/600K, Growth $129/1.8M, Pro $299/5M, Scale $699/13M with per-1K rates $0.082/$0.072/$0.060/$0.054 and rate limits 60/300/300/10K/10K req per minute. Annual toggle (\"Get 2 FREE months!\"): $41/$108/$249/$583 a month at $0.068/$0.060/$0.050/$0.045 per 1K. Also the per-API credit list including \"Twitter Scraper API - 1 credit base, +1 per item\", the 1,000 free credits with no card, and the FAQ on expiry, unbilled failures and the PAYG wallet"
        },
        {
          "url": "https://docs.scrapebadger.com/credits-and-pricing",
          "capturedAt": "2026-09-08",
          "note": "\"Twitter/X is billed per item. Each request costs 1 base credit plus 1 credit for every item in the response - so a request that returns N items costs N + 1 credits\", the advanced_search 20-tweets-equals-21-credits example, the X-Credits-Used header, the seven X endpoint categories, and \"credits never expire\""
        },
        {
          "url": "https://docs.scrapebadger.com/openapi-twitter.json",
          "capturedAt": "2026-09-08",
          "note": "46 X paths, confirming all six verticals exist: tweets/advanced_search, users/{username}/latest_tweets, users/{username}/by_username, tweets/tweet/{tweet_id}, users/{username}/followers, tweets/tweet/{tweet_id}/replies, plus batch user lookups and the stream monitors and filter rules"
        },
        {
          "url": "https://scrapebadger.com/legal/terms",
          "capturedAt": "2026-09-08",
          "note": "checked for an operating entity; the terms name only \"the laws of the European Union\" and no company or country, so hq is unknown"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The widest X surface here - 46 documented endpoints covering search, timelines, followers, replies, lists, communities, spaces and trends, plus a real-time stream product with WebSocket and signed webhook delivery - and the only one with a no-commitment wallet, $10 minimum at $0.15 per 1,000 credits, credits that never expire. The catch is the billing shape: X is charged 1 base credit plus 1 credit per item returned, so a search page of 20 tweets is 21 credits, roughly 21x a single-object lookup, and the per-1K credit rate on the plan table is not a per-call rate. Nothing on the site names an operating company or country, and the plan table is client-rendered, so the prices above had to be read in a browser rather than from the served HTML.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 129,
            "per1kUsd": 0.129,
            "via": "Growth",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 129,
            "per1kUsd": 0.129,
            "via": "Growth",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 129,
            "per1kUsd": 0.129,
            "via": "Growth",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 129,
            "per1kUsd": 0.129,
            "via": "Growth",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 129,
            "per1kUsd": 0.129,
            "via": "Growth",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.4999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 14.999999999999998,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 129,
            "per1kUsd": 0.129,
            "via": "Growth",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "scrapecreators",
      "name": "ScrapeCreators",
      "homepage": "https://scrapecreators.com",
      "pricingUrl": "https://scrapecreators.com/#pricing",
      "docsUrl": "https://docs.scrapecreators.com/v1/twitter/profile",
      "logoDomain": "scrapecreators.com",
      "hq": "US",
      "founded": null,
      "billing": {
        "model": "credits",
        "freeTier": {
          "calls": 100,
          "period": "once",
          "creditCardRequired": false,
          "note": "'Start with 100 free credits. Claim up to 7,000 more' by telling them how you found them, starring the GitHub repo and leaving G2 feedback. One-off, not a monthly grant, and credits never expire. At 1 credit per X request that is 100 calls."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": false,
        "expiryNote": "'Credits never expire' on every plan, including the free ones: 'Buy credits when you need them. Use them 2 days from now, or 2 years from now.'",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "credit",
        "search": null,
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": null,
        "replies": null,
        "note": "'1 credit === 1 request (for most endpoints). A few use more, and the exact cost is shown in the docs.' All six X endpoints are one-credit: the documented example response on Profile, User Tweets, Tweet Details, Transcript, Community and Community Tweets each shows \"credits_charged\": 1, and no X endpoint costs more. A cached hit costs 0 credits: 'If we have a response in the cache that is this many days old or newer, return the cached response (0 credits ...). Otherwise, scrape a live result (1 credit).' There is no X search, followers or replies endpoint, so those three verticals are null. USD per credit comes from the prepaid packs in plans."
      },
      "plans": [
        {
          "name": "Free",
          "monthlyUsd": 0,
          "includedUnits": 100,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": true,
          "validityMonths": null,
          "delivery": "live",
          "note": "One-off 100 credits, no credit card. Up to 7,000 further bonus credits are claimable."
        },
        {
          "name": "Freelance",
          "monthlyUsd": 47,
          "includedUnits": 25000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": 47,
          "oneTime": true,
          "validityMonths": null,
          "delivery": "live",
          "note": "One-time $47 prepaid pack of 25,000 credits, printed on the pricing card as '$1.88 / 1k requests'. Not a subscription: 'pay as you go', credits never expire, no credit card required to start."
        },
        {
          "name": "Business",
          "monthlyUsd": 497,
          "includedUnits": 500000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": 497,
          "oneTime": true,
          "validityMonths": null,
          "delivery": "live",
          "note": "One-time $497 prepaid pack of 500,000 credits, printed as '$0.99 / 1k requests'."
        },
        {
          "name": "Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "'Custom volume, custom pricing, white-glove onboarding', 1M+ credits. No list price."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "profile",
          "user_tweets",
          "tweet",
          "transcript",
          "communities"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": false,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": null,
        "bulkOrBatch": false,
        "realtimeStream": false,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "performance": {
        "claimedAvgLatencySeconds": 3.12,
        "claimedSuccessRatePct": 98.2,
        "source": "https://scrapecreators.com/"
      },
      "sources": [
        {
          "url": "https://scrapecreators.com/",
          "capturedAt": "2026-09-08",
          "note": "pricing section: Free $0 / 100 credits, Freelance $47 / 25,000 credits / '$1.88 / 1k requests', Business $497 / 500,000 credits / '$0.99 / 1k requests', Enterprise custom for 1M+ credits; '1 credit === 1 request (for most endpoints)'; 'Credits never expire'; 'No rate limits ... we recommend staying below 500 concurrent requests'; 'Cached results are free'; headline stats 98.2% success rate and 3.12s avg response over the last 30 days; 'Twitter 6 endpoints'; 'Built in Austin, TX'. https://scrapecreators.com/pricing 404s, the live table is the homepage #pricing anchor."
        },
        {
          "url": "https://scrapecreators.com/twitter-api",
          "capturedAt": "2026-09-08",
          "note": "the six X endpoints named and described: Profile, User Tweets, Tweet Details, Transcript, Community, Community Tweets. Also '100 credits on the house. No credit card.'"
        },
        {
          "url": "https://docs.scrapecreators.com/llms.txt",
          "capturedAt": "2026-09-08",
          "note": "the Twitter API section lists exactly those six endpoints and no others"
        },
        {
          "url": "https://docs.scrapecreators.com/v1/twitter/profile",
          "capturedAt": "2026-09-08",
          "note": "example response shows \"credits_charged\": 1, and the trim/cache parameter text prints the 0-credit cached hit and 1-credit live scrape. The same 1-credit example response appears on /v1/twitter/user-tweets, /v1/twitter/tweet, /v1/twitter/tweet/transcript, /v1/twitter/community and /v1/twitter/community/tweets."
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The friendliest terms on this list: prepaid credits that never expire, no subscription, no card to start, cached hits free, and a flat 1 credit for every X endpoint including the AI video transcript and the Communities pair - $1.88 per 1,000 calls at $47, $0.99 at $497. The catch is coverage: six X endpoints and no search, no followers and no replies, and User Tweets is capped by what X itself exposes - 'Twitter publicly returns only ~100 of the user's most popular tweets, not chronological or latest'.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.094,
            "per1kUsd": 0.094,
            "via": "Freelance",
            "prepaidUsd": 47,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.94,
            "per1kUsd": 0.094,
            "via": "Freelance",
            "prepaidUsd": 47,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 9.4,
            "per1kUsd": 0.094,
            "via": "Freelance",
            "prepaidUsd": 47,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 49.7,
            "per1kUsd": 0.0497,
            "via": "Business",
            "prepaidUsd": 497,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1.88,
            "per1kUsd": 1.88,
            "via": "Freelance",
            "prepaidUsd": 47,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 18.8,
            "per1kUsd": 1.88,
            "via": "Freelance",
            "prepaidUsd": 47,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 99.4,
            "per1kUsd": 0.994,
            "via": "Business",
            "prepaidUsd": 497,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 994.0000000000001,
            "per1kUsd": 0.994,
            "via": "Business",
            "prepaidUsd": 497,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1.88,
            "per1kUsd": 1.88,
            "via": "Freelance",
            "prepaidUsd": 47,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 18.8,
            "per1kUsd": 1.88,
            "via": "Freelance",
            "prepaidUsd": 47,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 99.4,
            "per1kUsd": 0.994,
            "via": "Business",
            "prepaidUsd": 497,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 994.0000000000001,
            "per1kUsd": 0.994,
            "via": "Business",
            "prepaidUsd": 497,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ]
      }
    },
    {
      "slug": "scrapingdog",
      "name": "Scrapingdog",
      "homepage": "https://www.scrapingdog.com",
      "pricingUrl": "https://www.scrapingdog.com/pricing/",
      "docsUrl": "https://www.scrapingdog.com/documentation/x-profile-scraper-api/",
      "logoDomain": "scrapingdog.com",
      "hq": "IN",
      "founded": 2021,
      "billing": {
        "model": "subscription",
        "freeTier": {
          "calls": 200,
          "period": "month",
          "creditCardRequired": false,
          "note": "The FREE plan card reads \"$0 forever, 200 Requests Credits, 1 Concurrency, Access To All APIs, No Credit Card Required\". Both X endpoints cost 5 credits, so 200 credits is 40 X calls. The card does not state a refresh period; \"month\" is taken from the pricing page FAQ line that monthly credits reset on the billing date."
        },
        "minimumMonthlyUsd": 40,
        "creditsExpire": true,
        "expiryNote": "Pricing-page FAQ: monthly credits reset on your billing date. There is no rollover and no overage; exceeding the allowance returns an over-limit response until the reset.",
        "annualDiscountPct": 16.67,
        "prepaidOnly": false,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "credit",
        "search": null,
        "user_tweets": null,
        "profile": {
          "units": 5,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 5,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": null,
        "replies": null,
        "note": "Scrapingdog documents exactly two X endpoints and no others: GET https://api.scrapingdog.com/x/profile (\"Each successful request costs 5 API credits\") and GET https://api.scrapingdog.com/x/post (\"Each successful request costs 5 API credits\"). The pricing page's own credit table lists a single \"Twitter Scraper API\" row at 5 credits per request. There is no X search, user-timeline, followers or replies endpoint in the documentation sidebar, so those four verticals are null: not offered, not merely unpriced. Credits are one shared balance across every Scrapingdog API; for scale, the general web tiers are 1 credit for a rotating-proxy request, 5 for JS rendering, 10 for premium or geo-targeted, 25 for JS plus premium. Failed, blocked and timed-out requests are not charged."
      },
      "plans": [
        {
          "name": "FREE",
          "monthlyUsd": 0,
          "includedUnits": 200,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1 concurrency, access to all APIs, community support, no credit card."
        },
        {
          "name": "LITE",
          "monthlyUsd": 40,
          "includedUnits": 200000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "5 concurrency, geotargeting, email support. The pricing page prints the Twitter Scraper API at this tier as 40K reqs for $1/1K."
        },
        {
          "name": "STANDARD",
          "monthlyUsd": 90,
          "includedUnits": 1000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "50 concurrency, priority email support. Twitter Scraper API quoted as 200K reqs at $0.45/1K."
        },
        {
          "name": "PRO",
          "monthlyUsd": 200,
          "includedUnits": 3000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "Marked \"Popular\". 100 concurrency, team support. Twitter Scraper API quoted as 600K reqs at $0.333/1K."
        },
        {
          "name": "PREMIUM",
          "monthlyUsd": 350,
          "includedUnits": 6000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "150 concurrency. Twitter Scraper API quoted as 1.2M reqs at $0.292/1K."
        },
        {
          "name": "BUSINESS",
          "monthlyUsd": 500,
          "includedUnits": 9000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "200 concurrency. Twitter Scraper API quoted as 1.8M reqs at $0.278/1K."
        },
        {
          "name": "BUSINESS PLUS",
          "monthlyUsd": 1000,
          "includedUnits": 19000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "250 concurrency. Twitter Scraper API quoted as 3.8M reqs at $0.263/1K."
        },
        {
          "name": "BUSINESS PRO",
          "monthlyUsd": 1500,
          "includedUnits": 29000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "300 concurrency. Twitter Scraper API quoted as 5.8M reqs at $0.259/1K."
        },
        {
          "name": "CORPORATE",
          "monthlyUsd": 2000,
          "includedUnits": 42000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "350 concurrency. Twitter Scraper API quoted as 8.4M reqs at $0.238/1K."
        },
        {
          "name": "CORPORATE PLUS",
          "monthlyUsd": 2500,
          "includedUnits": 55000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "400 concurrency. Twitter Scraper API quoted as 11M reqs at $0.227/1K."
        },
        {
          "name": "CORPORATE PRO",
          "monthlyUsd": 3000,
          "includedUnits": 65000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "450 concurrency. Twitter Scraper API quoted as 13M reqs at $0.231/1K."
        },
        {
          "name": "ENTERPRISE STARTER",
          "monthlyUsd": 4000,
          "includedUnits": 90000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "500 concurrency. Twitter Scraper API quoted as 18M reqs at $0.222/1K."
        },
        {
          "name": "ENTERPRISE PLUS",
          "monthlyUsd": 5000,
          "includedUnits": 120000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "600 concurrency, dedicated support. Twitter Scraper API quoted as 24M reqs at $0.208/1K."
        },
        {
          "name": "ENTERPRISE PRO",
          "monthlyUsd": 6000,
          "includedUnits": 150000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "650 concurrency. Twitter Scraper API quoted as 30M reqs at $0.20/1K."
        },
        {
          "name": "GLOBAL STARTER",
          "monthlyUsd": 7000,
          "includedUnits": 185000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "700 concurrency. Twitter Scraper API quoted as 37M reqs at $0.189/1K."
        },
        {
          "name": "GLOBAL PLUS",
          "monthlyUsd": 8000,
          "includedUnits": 220000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "800 concurrency. Twitter Scraper API quoted as 44M reqs at $0.182/1K."
        },
        {
          "name": "GLOBAL PRO",
          "monthlyUsd": 9000,
          "includedUnits": 255000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "850 concurrency. Twitter Scraper API quoted as 51M reqs at $0.176/1K."
        },
        {
          "name": "GLOBAL ELITE",
          "monthlyUsd": 10000,
          "includedUnits": 295000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "900 concurrency. Twitter Scraper API quoted as 59M reqs at $0.169/1K."
        },
        {
          "name": "ULTRA STARTER",
          "monthlyUsd": 12000,
          "includedUnits": 360000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,000 concurrency, dedicated account manager. Twitter Scraper API quoted as 72M reqs at $0.167/1K."
        },
        {
          "name": "ULTRA PLUS",
          "monthlyUsd": 14000,
          "includedUnits": 430000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,200 concurrency. Twitter Scraper API quoted as 86M reqs at $0.163/1K."
        },
        {
          "name": "ULTRA PRO",
          "monthlyUsd": 16000,
          "includedUnits": 500000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,300 concurrency. Twitter Scraper API quoted as 100M reqs at $0.16/1K."
        },
        {
          "name": "TITAN STARTER",
          "monthlyUsd": 18000,
          "includedUnits": 580000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,400 concurrency. Twitter Scraper API quoted as 116M reqs at $0.155/1K."
        },
        {
          "name": "TITAN PLUS",
          "monthlyUsd": 20000,
          "includedUnits": 660000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,500 concurrency. Twitter Scraper API quoted as 132M reqs at $0.152/1K."
        },
        {
          "name": "TITAN PRO",
          "monthlyUsd": 22000,
          "includedUnits": 740000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,700 concurrency. Twitter Scraper API quoted as 148M reqs at $0.149/1K."
        },
        {
          "name": "TITAN ELITE",
          "monthlyUsd": 24000,
          "includedUnits": 830000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,800 concurrency. Twitter Scraper API quoted as 166M reqs at $0.145/1K."
        },
        {
          "name": "NOVA STARTER",
          "monthlyUsd": 26000,
          "includedUnits": 920000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,900 concurrency. Twitter Scraper API quoted as 184M reqs at $0.141/1K."
        },
        {
          "name": "NOVA PLUS",
          "monthlyUsd": 28000,
          "includedUnits": 1010000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "2,000 concurrency. Twitter Scraper API quoted as 202M reqs at $0.139/1K."
        },
        {
          "name": "NOVA PRO",
          "monthlyUsd": 30000,
          "includedUnits": 1100000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "Largest self-serve tier, 2,200 concurrency. Twitter Scraper API quoted as 220M reqs at $0.136/1K."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "profile",
          "tweet"
        ],
        "writeActions": null,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": true,
        "pagination": null,
        "bulkOrBatch": null,
        "realtimeStream": null,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://www.scrapingdog.com/pricing/",
          "capturedAt": "2026-09-08",
          "note": "all 28 plan cards (FREE plus 27 paid) with price, credit allowance and concurrency; the per-API credit table including the Twitter Scraper API at 5 credits per request; the per-tier $/1K quotes for that row from $1/1K at LITE down to $0.136/1K at NOVA PRO; the annual \"2 months Extra\" toggle; and the FAQ on credit reset, over-limit behaviour and unbilled failed requests"
        },
        {
          "url": "https://www.scrapingdog.com/documentation/x-profile-scraper-api/",
          "capturedAt": "2026-09-08",
          "note": "X Profile Scraper API: endpoint https://api.scrapingdog.com/x/profile, \"Each successful request costs 5 API credits\"; the docs sidebar shows the X (Twitter) API section contains only X Profile Scraper and X Post Scraper"
        },
        {
          "url": "https://www.scrapingdog.com/documentation/x-post-scraper-api/",
          "capturedAt": "2026-09-08",
          "note": "X Post Scraper API: endpoint https://api.scrapingdog.com/x/post, \"Each successful request costs 5 API credits\""
        },
        {
          "url": "https://www.scrapingdog.com/twitter-scraper-api/",
          "capturedAt": "2026-09-08",
          "note": "X Scraper API product page; shows the legacy https://api.scrapingdog.com/twitter/ call and repeats the plan prices, but prints no credit cost of its own"
        },
        {
          "url": "https://www.scrapingdog.com/about",
          "capturedAt": "2026-09-08",
          "note": "founder story dating Scrapingdog to 2021; footer entity \"OpenData Labs Private Limited\", an Indian company"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "Cheap per call and useless for most X work: the LITE plan is $40 for 200,000 credits and at 5 credits a request that is 40,000 X calls, or $1.00 per 1,000, exactly the figure the pricing page prints for its Twitter Scraper API row. The catch is coverage - Scrapingdog documents only two X endpoints, a profile lookup and a single-post lookup, so search, user timelines, followers and replies simply do not exist here and four of the six verticals are null. Every plan unlocks every API from one shared monthly credit balance, credits reset on the billing date with no rollover and no overage, failed requests are not charged, and annual billing is twelve months for the price of ten.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 40,
            "per1kUsd": 40,
            "via": "LITE",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 40,
            "per1kUsd": 4,
            "via": "LITE",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 90,
            "per1kUsd": 0.9,
            "via": "STANDARD",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 350,
            "per1kUsd": 0.35,
            "via": "PREMIUM",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 40,
            "per1kUsd": 40,
            "via": "LITE",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 40,
            "per1kUsd": 4,
            "via": "LITE",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 90,
            "per1kUsd": 0.9,
            "via": "STANDARD",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 350,
            "per1kUsd": 0.35,
            "via": "PREMIUM",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "not offered"
          }
        ]
      }
    },
    {
      "slug": "socialcrawl",
      "name": "SocialCrawl",
      "homepage": "https://www.socialcrawl.dev",
      "pricingUrl": "https://www.socialcrawl.dev/pricing",
      "docsUrl": "https://www.socialcrawl.dev/docs/twitter",
      "logoDomain": "socialcrawl.dev",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "credits",
        "freeTier": {
          "calls": 100,
          "period": "once",
          "creditCardRequired": false,
          "note": "\"100 free credits. No credit card required.\" The Free plan card reads \"100 credits (one-time), $0\". Every X endpoint except the AI search, the transcript and the composite profile call is 1 credit, so 100 credits is 100 standard X calls."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": false,
        "expiryNote": "\"One-time credits that never expire, no subscription.\" The FAQ states there is no monthly fee, no auto-renewal and nothing to cancel; auto-recharge exists but is opt-in.",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "credit",
        "search": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "replies": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "note": "The endpoint list at /llms-twitter.txt prints a credit cost beside each of the 15 X endpoints. All six verticals here are standard-tier endpoints at 1 credit per request: GET /v1/twitter/search/tweets, /v1/twitter/user/tweets, /v1/twitter/profile, /v1/twitter/tweet, /v1/twitter/user/followers and /v1/twitter/tweet/replies. The dearer X endpoints are /v1/twitter/ai-search at 5 credits, /v1/twitter/profile/full at 5, and /v1/twitter/tweet/transcript at 10. Pagination is billed per page: a list endpoint returns one page plus a cursor and each further page is another billed call. Cache hits and empty pages cost 0 credits. Credits are bought in GBP packs, so there is no printed USD per credit; minPerRequestUsd is null for that reason, not because a minimum is absent."
      },
      "plans": [
        {
          "name": "Free",
          "monthlyUsd": 0,
          "includedUnits": 100,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": true,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Try every endpoint, free - 100 credits (one-time), $0.\" No credit card. Community support."
        },
        {
          "name": "Starter",
          "monthlyUsd": null,
          "includedUnits": 2500,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": true,
          "validityMonths": null,
          "delivery": "live",
          "note": "Priced in GBP only: 2,500 credits for GBP 15, a one-time pack, not a subscription. monthlyUsd is null because the schema is USD and SocialCrawl prints no USD figure."
        },
        {
          "name": "Growth",
          "monthlyUsd": null,
          "includedUnits": 20000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": true,
          "validityMonths": null,
          "delivery": "live",
          "note": "Marked \"Most popular\". GBP 49 for 20,000 credits; the card shows 8,000 struck through and 20,000 as the current amount, and claims \"60% cheaper per credit\". The pack sizer on the same page quotes this pack as GBP 0.0074 per call."
        },
        {
          "name": "Pro",
          "monthlyUsd": null,
          "includedUnits": 150000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": true,
          "validityMonths": null,
          "delivery": "live",
          "note": "GBP 299 for 150,000 credits; the card shows 50,000 struck through and 150,000 as the current amount, and claims \"67% cheaper per credit\"."
        },
        {
          "name": "Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Custom - Contact us\" for dedicated support, SLAs and volume pricing. No public price."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "communities",
          "transcript",
          "search_users"
        ],
        "writeActions": null,
        "historicalSearch": true,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": true,
        "pagination": "cursor",
        "bulkOrBatch": null,
        "realtimeStream": null,
        "selfHosted": null,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://www.socialcrawl.dev/pricing",
          "capturedAt": "2026-09-08",
          "note": "plan cards Free/Starter/Growth/Pro/Enterprise with the GBP pack prices and credit counts, the 100 free credits with no card, \"credits never expire\", the 600 requests a minute and 50 concurrent requests per key, empty pages refunded, and the pagination rule that each page is a separate billed call"
        },
        {
          "url": "https://www.socialcrawl.dev/llms-twitter.txt",
          "capturedAt": "2026-09-08",
          "note": "all 15 X endpoints with a printed credit cost each, including the six used here at 1 credit and the search operator syntax since:/until:"
        },
        {
          "url": "https://www.socialcrawl.dev/llms.txt",
          "capturedAt": "2026-09-08",
          "note": "credit tiers: standard 1 credit (327 endpoints), advanced 5 (210), premium 10 (35); cache hits cost 0"
        },
        {
          "url": "https://www.socialcrawl.dev/docs/endpoint-pricing",
          "capturedAt": "2026-09-08",
          "note": "per-platform endpoint pricing table; Twitter/X listed at 1 credit across 15 endpoints, plus the refund rules for upstream errors and empty bodies"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The flattest X price sheet of the five: every X endpoint a buyer normally wants - search, user timeline, profile, single tweet, followers and replies - is 1 credit per request, with only AI search (5), the composite profile call (5) and video transcripts (10) costing more, and empty pages and cache hits refunded. The catch is that it sells in GBP one-time packs (GBP 15 / 2,500, GBP 49 / 20,000, GBP 299 / 150,000) with no printed USD rate at all, so every monthlyUsd here is null by the schema's currency rule and a USD buyer is exposed to the exchange rate; list endpoints also bill per page, so a deep follower crawl is many credits, not one.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "price on request"
          }
        ]
      }
    },
    {
      "slug": "socialdata",
      "name": "SocialData",
      "homepage": "https://socialdata.tools",
      "pricingUrl": "https://docs.socialdata.tools/getting-started/pricing/",
      "docsUrl": "https://docs.socialdata.tools/",
      "logoDomain": "socialdata.tools",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "payg",
        "freeTier": {
          "calls": null,
          "period": "month",
          "creditCardRequired": false,
          "note": "No signup credit is printed. The homepage says \"no credit card required\" to start. The only printed free allowance is the fair-use policy: \"every account is entitled to make up to 3 requests per minute without incurring any charges\", and separately \"requests that do not return any data do not consume any balance\"."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": false,
        "expiryNote": "\"No credit card required. $0.20 per 1000 results, and the balance never expires.\" The FAQ adds: \"Any deposit you make will remain in your account until you've used it completely\", and \"We provide 'No questions asked' refunds for any deposits within 14 days of payment provided you haven't used your deposit to request data\".",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "result",
        "search": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.0002
        },
        "user_tweets": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.0002
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.0002
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.0002
        },
        "followers": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.0002
        },
        "replies": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.0002
        },
        "note": "A single printed USD rate covers almost everything: \"$0.0002 per tweet or user profile returned (or $0.2 per 1000 items)\". The per-endpoint table charges $0.0002 per tweet retrieved (search), per follower, per followed user, per mention, per comment, per quote-tweet, per list member and per community member; single-object endpoints (Get User Profile, Get Tweet, Get Article Details, Get List Details, Get Community Details, Get Space Details) are $0.0002 per request, which is why profile and tweet are recorded as per request here. Two exceptions cost more: Get User Extended Bio at $0.001 per request, and the Social Actions checks at $0.004 (Verify User Following) and $0.008 (Verify User Retweeted, Verify User Commented) per request. No page size is printed anywhere in the docs. The $0.0002 minimum recorded on every vertical is the fair-use charge: beyond 3 free requests per minute, an empty request \"will be treated as a billable request and incur a fixed charge of $0.0002 per request\"; within that allowance an empty request is free, and \"failed requests do not consume any balance\"."
      },
      "plans": [
        {
          "name": "Pay as you go",
          "monthlyUsd": 0,
          "includedUnits": 0,
          "overagePerUnitUsd": 0.0002,
          "hardCap": false,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "There are no plans. You keep a positive prepaid balance or the request is rejected with HTTP 402. High volume is \"contact support and we will quote a custom rate\", with no printed figure."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 0,
          "maxUnits": null,
          "perUnitUsd": 0.0002
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "likes",
          "lists",
          "communities",
          "spaces",
          "thread",
          "article",
          "search_users"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": true,
        "pagination": "cursor",
        "bulkOrBatch": true,
        "realtimeStream": true,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "sources": [
        {
          "url": "https://docs.socialdata.tools/getting-started/pricing/",
          "capturedAt": "2026-09-08",
          "note": "rendered page: $0.0002 per tweet or user profile returned ($0.2 per 1000 items), full per-endpoint price table, extended bio $0.001/request, social-action checks $0.004 and $0.008/request, HTTP 402 on empty balance, failed requests free, fair-use 3 free requests per minute then $0.0002 per request"
        },
        {
          "url": "https://socialdata.tools/",
          "capturedAt": "2026-09-08",
          "note": "rendered homepage: \"$0.20 per 1000 results\", \"no subscription\", \"No credit card required\", \"the balance never expires\", 14-day no-questions refund on an unused deposit, no monthly usage limits that reset"
        },
        {
          "url": "https://docs.socialdata.tools/",
          "capturedAt": "2026-09-08",
          "note": "endpoint index: search, users, tweets, lists, communities, spaces, social actions, monitoring webhooks, MCP server"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The cleanest pricing model in the set: one rate, $0.0002 per item returned, applied to almost every endpoint, with failed requests free and a prepaid balance that never expires and is refundable for 14 days if untouched. The catch is that per-item billing means a dense search page costs 20x a thin one, it is read-only with no write actions, and it publishes no page sizes, no SLA and no signup credit, so you cannot forecast a call's cost before you make it.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 20,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 200,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 20,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 200,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 20,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 200,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 20,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 200,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 20,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 200,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 2,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 20,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 200,
            "per1kUsd": 0.2,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "sorsa",
      "name": "Sorsa",
      "homepage": "https://api.sorsa.io",
      "pricingUrl": "https://api.sorsa.io/pricing",
      "docsUrl": "https://api.sorsa.io/docs",
      "logoDomain": "sorsa.io",
      "hq": "unknown",
      "founded": 2022,
      "billing": {
        "model": "subscription",
        "freeTier": {
          "calls": 100,
          "period": "once",
          "creditCardRequired": false,
          "note": "\"Every new account gets 100 free requests: enough for up to 10,000 tweets or 20,000 profiles across all 40 endpoints. No credit card is required, and the free requests never expire.\" There is also a browser Playground that runs real requests without signing up."
        },
        "minimumMonthlyUsd": 49,
        "creditsExpire": true,
        "expiryNote": "Plans are a monthly request quota, so unused requests do not carry over; the 100 free signup requests are the exception and \"never expire\". Cancel anytime.",
        "annualDiscountPct": 16,
        "prepaidOnly": false,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "request",
        "search": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 20,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 20,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 200,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 100,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 200,
          "minPerRequestUsd": null
        },
        "replies": null,
        "note": "Sorsa does not meter per item at all: \"One API call is one request, on every endpoint and every plan. No credit multipliers, no per-endpoint tiers.\" You buy a monthly request quota, so every vertical is recorded as one request and resultsPerRequest carries the page size that one request returns. The per-item figures the provider itself publishes in its transparency table headed \"On the Pro plan ($199 for 100,000 requests), here is the effective cost once you use the right endpoint\": tweets via search-tweets, user-tweets and mentions ~$0.0001 per tweet; tweets via tweet-info-bulk ~$0.00002 per tweet; user profiles via follower lists (followers, follows) ~$0.00001 per profile; user profiles via info-batch ~$0.00002 per profile; verification checks $0.002 per check. Headline rates on the same page are \"from $0.02 per 1K tweets\", \"from $0.01 per 1K profiles\", \"from $0.002 per check\" and \"from $0.002 per call\" for single lookups. Printed request yields: \"A search page of about 20 tweets is one request. A batch lookup of 100 tweets is one request. A follower page of up to 200 profiles is one request.\" Replies are null because /comments is documented but Sorsa prints no per-item rate for it; like every endpoint it costs exactly one request from the quota."
      },
      "plans": [
        {
          "name": "Starter",
          "monthlyUsd": 49,
          "includedUnits": 10000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "10K requests/month, printed as \"$0.049 per 1,000 tweets\" and \"~1M tweets or ~2M profiles included\". 20 req/sec, all 40 endpoints. includedUnits are requests, not items. Yearly billing saves 16%. When the quota runs out \"the API stops returning data until you top up\"; no per-request overage rate is printed."
        },
        {
          "name": "Pro",
          "monthlyUsd": 199,
          "includedUnits": 100000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "100K requests/month, \"$0.02 per 1,000 tweets\", \"~10M tweets or ~20M profiles included\", plus usage analytics. Marked most popular."
        },
        {
          "name": "Enterprise",
          "monthlyUsd": 899,
          "includedUnits": 500000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "500K requests/month, \"$0.018 per 1,000 tweets\", \"~50M tweets or ~100M profiles included\", plus priority support."
        },
        {
          "name": "Custom",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Volume beyond 500K requests\" is talk-to-sales: lower per-request pricing, rate limits above 20 req/sec, dedicated account manager. No printed price."
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "lists",
          "communities",
          "article",
          "search_users"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": "cursor",
        "bulkOrBatch": true,
        "realtimeStream": false,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "performance": {
        "claimedAvgLatencySeconds": 0.3,
        "claimedSuccessRatePct": 99.9,
        "source": "https://api.sorsa.io/pricing"
      },
      "sources": [
        {
          "url": "https://api.sorsa.io/pricing",
          "capturedAt": "2026-09-08",
          "note": "rendered page: Starter $49/10K, Pro $199/100K, Enterprise $899/500K requests per month, yearly saves 16%, 100 free requests with no card that never expire, from $0.02/1K tweets and $0.01/1K profiles and $0.002 per check and per single lookup, the Pro-plan per-item transparency table, batch limits of 100 tweets / 200 profiles / 200 followers per request, a search page is about 20 tweets, 20 req/sec on every plan, 40 endpoints, 99.9% uptime, 300ms p50 latency, since 2022"
        },
        {
          "url": "https://api.sorsa.io/",
          "capturedAt": "2026-09-08",
          "note": "the 40-endpoint list and the same plan and free-tier figures"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The only subscription in this set, and it bills one flat request no matter how much comes back, so batch endpoints make it the cheapest per item here if you keep pages full: 100 tweets or 200 profiles or 200 followers for a single request. The catch is a $49 monthly floor with no pay-as-you-go option, a quota that stops serving data when it runs out with no printed overage rate, and a read-only surface of 40 endpoints with no write actions and no real-time stream.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 49,
            "per1kUsd": 49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 49,
            "per1kUsd": 4.9,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 49,
            "per1kUsd": 0.49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 199,
            "per1kUsd": 0.199,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 49,
            "per1kUsd": 49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 49,
            "per1kUsd": 4.9,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 49,
            "per1kUsd": 0.49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 199,
            "per1kUsd": 0.199,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 49,
            "per1kUsd": 49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 49,
            "per1kUsd": 4.9,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 49,
            "per1kUsd": 0.49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 49,
            "per1kUsd": 0.049,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 49,
            "per1kUsd": 49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 49,
            "per1kUsd": 4.9,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 49,
            "per1kUsd": 0.49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 49,
            "per1kUsd": 0.049,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 49,
            "per1kUsd": 49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 49,
            "per1kUsd": 4.9,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 49,
            "per1kUsd": 0.49,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 49,
            "per1kUsd": 0.049,
            "via": "Starter",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "cost not published"
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "cost not published"
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "cost not published"
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": null,
            "per1kUsd": null,
            "via": "-",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": "cost not published"
          }
        ]
      }
    },
    {
      "slug": "tikhub",
      "name": "TikHub",
      "homepage": "https://tikhub.io",
      "pricingUrl": "https://tikhub.io/pricing",
      "docsUrl": "https://tikhub.io/twitter-api",
      "logoDomain": "tikhub.io",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "payg",
        "freeTier": {
          "calls": null,
          "period": "once",
          "creditCardRequired": false,
          "note": "New accounts get $0.05 of free credit, granted once per user, with no credit card. The site describes that as \"~50 free requests on sign-up\", which is the $0.05 balance divided by the $0.001 base rate rather than a fixed call allowance, and the Free plan card adds \"Some endpoints require paid credits\". calls is null for that reason; the balance is the printed fact."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": null,
        "expiryNote": "Neither the pricing page nor the FAQ says whether an unused prepaid balance expires, so this is left null rather than guessed.",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "request",
        "search": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "replies": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "note": "The pricing page carries a live per-endpoint price picker (snapshot dated 2026-07-20 on the page). Searching it for \"/twitter/\" returns 13 X endpoints and every one is priced at $0.001 per request: fetch_search_timeline (search), fetch_user_post_tweet (user timeline), fetch_user_profile (profile), fetch_tweet_detail (single tweet), fetch_user_followers (followers) and fetch_post_comments (replies to a tweet), plus fetch_latest_post_comments, fetch_retweet_user_list, fetch_trending, fetch_user_followings, fetch_user_highlights_tweets, fetch_user_media and fetch_user_tweet_replies. The $0.001 is a per-request dollar price, not a credit, so the billed unit here is one request, units is 1 on every vertical, and the dollar rate sits on the plans and the volume tiers. Volume discounts are computed on total daily requests across the account and cut that rate to $0.0005 at 30,000 requests a day; see payAsYouGoTiers. The site says the general endpoint range is $0.001 to $0.01, but no X endpoint is above the floor. Endpoints are cursor-paginated with a bounded number of items per page and no page size is printed, so resultsPerRequest is null; each page is a separate billed request. Non-200 responses are never billed, and the cache_url in a response re-opens that one payload for 24 hours free but is not a cheaper re-fetch."
      },
      "plans": [
        {
          "name": "Free",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "delivery": "live",
          "note": "\"$0, No credit card required, ~50 free requests on sign-up, 10 RPS default rate limit, All 16 platform APIs, Some endpoints require paid credits.\" The grant is $0.05 of credit. includedUnits is null and monthlyUsd is null because the allowance is a one-off dollar balance rather than a plan anyone buys; it is recorded as the free tier instead."
        },
        {
          "name": "Pay-as-you-go",
          "monthlyUsd": 0,
          "includedUnits": 0,
          "overagePerUnitUsd": 0.001,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "delivery": "live",
          "note": "Marked \"Most popular\": \"$0.001 - 0.01 /request, Up to 50% volume discount\". Every X endpoint sits at the $0.001 floor. Prepaid balance topped up by Alipay, PayPal, crypto (USDT) or B2B bank transfer; no minimum top-up is printed."
        },
        {
          "name": "Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "requiresPrepaidUsd": 3000,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Custom - From $3,000 one-time or $4,500 cumulative\", buying a permanent 5% fee waiver, 3-10% bonus credits, custom endpoint development, dedicated support, private deployment and B2B bank transfer. requiresPrepaidUsd records the $3,000 one-time floor; the $4,500 alternative is a cumulative-spend route to the same tier. No per-request price is published for it."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 0,
          "maxUnits": 1000,
          "perUnitUsd": 0.001
        },
        {
          "minUnits": 1000,
          "maxUnits": 5000,
          "perUnitUsd": 0.0009
        },
        {
          "minUnits": 5000,
          "maxUnits": 10000,
          "perUnitUsd": 0.0008
        },
        {
          "minUnits": 10000,
          "maxUnits": 20000,
          "perUnitUsd": 0.0007
        },
        {
          "minUnits": 20000,
          "maxUnits": 30000,
          "perUnitUsd": 0.0006
        },
        {
          "minUnits": 30000,
          "maxUnits": null,
          "perUnitUsd": 0.0005
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "trends"
        ],
        "writeActions": false,
        "historicalSearch": true,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": true,
        "pagination": "cursor",
        "bulkOrBatch": null,
        "realtimeStream": null,
        "selfHosted": true,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://tikhub.io/pricing",
          "capturedAt": "2026-09-08",
          "note": "Free / Pay-as-you-go / Enterprise cards, the six daily-volume discount tiers from $0.001 down to $0.0005 at 30,000+ requests a day, the $0.05 free sign-up credit, the 10 RPS default limit, accepted payment methods, and the FAQ that non-200 requests are never billed and that responses are never served from cache. The per-endpoint price picker was opened in the Aside browser (it is client-rendered) and searched for \"/twitter/\": all 13 X endpoints return $0.001 per request. The picker labels itself a \"Live per-endpoint pricing snapshot from 2026-07-20\""
        },
        {
          "url": "https://tikhub.io/twitter-api",
          "capturedAt": "2026-09-08",
          "note": "X (Twitter) API page: \"$0.001 per request\", \"10,000 reads costs about $10, no monthly minimum\", the endpoint reference table naming the six verticals used here, \"All read-only\", cursor pagination with a bounded number of items per page, and the note that X search operators (from:, since:/until:, filter:media, quoted phrases, OR) carry over"
        },
        {
          "url": "https://tikhub.io/llms.txt",
          "capturedAt": "2026-09-08",
          "note": "16 supported platforms including Twitter/X; \"pay-as-you-go from $0.001/request with automatic daily volume discounts (down to $0.0005 at 30,000+ requests/day); $0.05 free sign-up credit (~50 requests, no credit card, granted once per user); default 10 RPS rate limit, upgradeable to 100+ RPS; Enterprise from $3,000 one-time or $4,500 cumulative spend\""
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The cheapest printed per-request price of the five and the simplest to reason about: every one of the 13 X endpoints is a flat $0.001 a call, all six verticals included, with automatic daily volume discounts down to $0.0005 above 30,000 requests a day, no monthly floor and no per-platform subscription. The catches are practical rather than priced - the discount is computed on daily volume, so it resets every night and only a steady pipeline holds the low rate; the default limit is 10 requests a second per endpoint path; and the account is a prepaid balance topped up through Alipay, PayPal, crypto or bank transfer, with nothing published about whether an unused balance expires. Followers, search and reply lists are cursor-paginated with no printed page size, so a deep crawl is many billed calls.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.05,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.5,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 4,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 25,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.05,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.5,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 4,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 25,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.9,
            "per1kUsd": 0.9,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 7,
            "per1kUsd": 0.7,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 50,
            "per1kUsd": 0.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 500,
            "per1kUsd": 0.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.9,
            "per1kUsd": 0.9,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 7,
            "per1kUsd": 0.7,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 50,
            "per1kUsd": 0.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 500,
            "per1kUsd": 0.5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.005,
            "per1kUsd": 0.005,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.05,
            "per1kUsd": 0.005,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 0.5,
            "per1kUsd": 0.005,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 4,
            "per1kUsd": 0.004,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.05,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.5,
            "per1kUsd": 0.05,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 4,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 25,
            "per1kUsd": 0.025,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "rapidapi-twitter-api45",
      "name": "twitter-api45 (RapidAPI)",
      "homepage": "https://rapidapi.com/alexanderxbx/api/twitter-api45",
      "pricingUrl": "https://rapidapi.com/alexanderxbx/api/twitter-api45/pricing",
      "docsUrl": "https://rapidapi.com/alexanderxbx/api/twitter-api45/playground",
      "logoDomain": "rapidapi.com",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "hybrid",
        "freeTier": {
          "calls": 1000,
          "period": "month",
          "creditCardRequired": null,
          "note": "The Basic plan is $0.00/month with 1,000 requests/month, Hard Limit, capped at 1000 requests per hour. RapidAPI's pricing FAQ carries a question titled \"Why Do You Require A Credit Card For A Freemium API?\", but the answer was not read, so the card requirement is recorded null rather than guessed."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "Request quotas are monthly and do not carry over. The Basic plan is a Hard Limit; Pro, Ultra and Mega instead bill a published per-request overage above the included quota.",
        "annualDiscountPct": null,
        "prepaidOnly": false,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "request",
        "search": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "replies": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "note": "RapidAPI meters this listing in requests, not results. Every endpoint draws one request from the monthly quota and the listing publishes no per-endpoint multiplier, so all six verticals are 1 request; the USD rate is the plan price over its included requests, or the published overage rate beyond it. No page size is documented for any endpoint, so resultsPerRequest is null and a per-tweet cost cannot be derived from this listing. Bandwidth is charged on top of requests: 10,240 MB per month included, then $0.001 per additional 1 MB."
      },
      "plans": [
        {
          "name": "Basic",
          "monthlyUsd": 0,
          "includedUnits": 1000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "Free plan: 1,000 requests/month, Hard Limit, 1000 requests per hour. Bandwidth 10,240 MB/month then $0.001 per 1 MB."
        },
        {
          "name": "Pro",
          "monthlyUsd": 9,
          "includedUnits": 100000,
          "overagePerUnitUsd": 0.0001,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "100,000 requests/month then + $0.0001 per request. No rate limit printed. Bandwidth 10,240 MB/month then $0.001 per 1 MB."
        },
        {
          "name": "Ultra",
          "monthlyUsd": 99,
          "includedUnits": 2000000,
          "overagePerUnitUsd": 0.00008,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "Marked Recommended. 2,000,000 requests/month then + $0.00008 per request. No rate limit printed. Bandwidth 10,240 MB/month then $0.001 per 1 MB."
        },
        {
          "name": "Mega",
          "monthlyUsd": 490,
          "includedUnits": 10000000,
          "overagePerUnitUsd": 0.00006,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "10,000,000 requests/month then + $0.00006 per request. No rate limit printed. Bandwidth 10,240 MB/month then $0.001 per 1 MB."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "marketplace",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "lists",
          "communities",
          "spaces",
          "trends",
          "thread"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": null,
        "bulkOrBatch": null,
        "realtimeStream": null,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://rapidapi.com/alexanderxbx/api/twitter-api45/pricing",
          "capturedAt": "2026-09-08",
          "note": "client-rendered pricing tab read in the Aside browser: Basic $0.00/mo 1,000 requests Hard Limit 1000 requests per hour; Pro $9.00/mo 100,000 + $0.0001; Ultra $99.00/mo 2,000,000 + $0.00008 (Recommended); Mega $490.00/mo 10,000,000 + $0.00006; every plan 10240MB/month bandwidth then + $0.001 per 1MB"
        },
        {
          "url": "https://rapidapi.com/alexanderxbx/api/twitter-api45/playground",
          "capturedAt": "2026-09-08",
          "note": "endpoint list, all GET and read-only: User info, User timeline, Following, Followers, Tweet info, Affilates, User's Media, Retweets, Trends, Search, Check Retweet, User replies, Tweet thread, Latest replies, Check follow, List timeline, Community Info, Inspiration Posts, User live, About profile, Community Members, Jobs Search, Communities Posts Search Latest, Communities Posts Search Top, Communities Search, Profiles By RestIds, Comunity Posts, List followers, List members, Spaces info"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The cheapest broad X read API in this set on paper: a genuinely free 1,000 requests a month, then $9/month for 100,000 requests with a published $0.0001 per-request overage, across search, timelines, profiles, tweet detail, threads, followers, replies, lists, communities, spaces and trends. The catch is that it is a single seller's RapidAPI listing with no SLA, no legal shield and no documented page size, so a cost per tweet cannot be read off it, and RapidAPI's bandwidth meter ($0.001 per MB above 10,240 MB a month) is a second bill that the request price does not cover. It is read-only; there are no write actions and no DM endpoints.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 9,
            "per1kUsd": 9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 9,
            "per1kUsd": 0.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 9,
            "per1kUsd": 0.09,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 9,
            "per1kUsd": 0.009,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 9,
            "per1kUsd": 9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 9,
            "per1kUsd": 0.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 9,
            "per1kUsd": 0.09,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 9,
            "per1kUsd": 0.009,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 9,
            "per1kUsd": 9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 9,
            "per1kUsd": 0.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 9,
            "per1kUsd": 0.09,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 99,
            "per1kUsd": 0.099,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 9,
            "per1kUsd": 9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 9,
            "per1kUsd": 0.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 9,
            "per1kUsd": 0.09,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 99,
            "per1kUsd": 0.099,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 9,
            "per1kUsd": 9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 9,
            "per1kUsd": 0.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 9,
            "per1kUsd": 0.09,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 9,
            "per1kUsd": 0.009,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 9,
            "per1kUsd": 9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 9,
            "per1kUsd": 0.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 9,
            "per1kUsd": 0.09,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 9,
            "per1kUsd": 0.009,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "rapidapi-twitter241",
      "name": "twitter241 (RapidAPI)",
      "homepage": "https://rapidapi.com/davethebeast/api/twitter241",
      "pricingUrl": "https://rapidapi.com/davethebeast/api/twitter241/pricing",
      "docsUrl": "https://rapidapi.com/davethebeast/api/twitter241/playground",
      "logoDomain": "rapidapi.com",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "subscription",
        "freeTier": null,
        "minimumMonthlyUsd": 1,
        "creditsExpire": true,
        "expiryNote": "Request quotas are monthly and every plan is marked Hard Limit, so an unused allowance does not carry into the next month and an exhausted allowance fails the request rather than billing overage.",
        "annualDiscountPct": null,
        "prepaidOnly": false,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "request",
        "search": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "replies": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "note": "RapidAPI meters this listing in requests, not results: every endpoint draws one request from the plan's monthly quota and the listing publishes no per-endpoint multiplier, so all six verticals are 1 request. The USD rate therefore comes from the plan price divided by its included requests. resultsPerRequest is null everywhere because no page size is documented; the playground's Search Twitter example sends count=20, but that is an example parameter value, not a printed or guaranteed page size. A second charge sits outside the quota: every plan includes 10,240 MB of bandwidth per month and then bills $0.001 per additional 1 MB."
      },
      "plans": [
        {
          "name": "Basic",
          "monthlyUsd": 1,
          "includedUnits": 1000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,000 requests/month, Hard Limit, 5 requests per second. This is the entry plan; the listing has no $0 plan. Bandwidth 10,240 MB/month then $0.001 per 1 MB."
        },
        {
          "name": "Pro",
          "monthlyUsd": 25,
          "includedUnits": 100000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "100,000 requests/month, Hard Limit, 10 requests per second. Bandwidth 10,240 MB/month then $0.001 per 1 MB."
        },
        {
          "name": "Ultra",
          "monthlyUsd": 80,
          "includedUnits": 500000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "500,000 requests/month, Hard Limit, 10 requests per second. Bandwidth 10,240 MB/month then $0.001 per 1 MB."
        },
        {
          "name": "Mega",
          "monthlyUsd": 150,
          "includedUnits": 1500000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "requiresPrepaidUsd": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "1,500,000 requests/month, Hard Limit, 10 requests per second. Bandwidth 10,240 MB/month then $0.001 per 1 MB."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "marketplace",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "lists",
          "communities",
          "spaces",
          "trends"
        ],
        "writeActions": false,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": null,
        "bulkOrBatch": true,
        "realtimeStream": null,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://rapidapi.com/davethebeast/api/twitter241/pricing",
          "capturedAt": "2026-09-08",
          "note": "client-rendered pricing tab read in the Aside browser: Basic $1.00/mo 1,000 requests Hard Limit 5 req/s; Pro $25.00/mo 100,000 Hard Limit 10 req/s; Ultra $80.00/mo 500,000 Hard Limit 10 req/s; Mega $150.00/mo 1,500,000 Hard Limit 10 req/s; every plan 10240MB/month bandwidth then + $0.001 per 1MB"
        },
        {
          "url": "https://rapidapi.com/davethebeast/api/twitter241/playground",
          "capturedAt": "2026-09-08",
          "note": "endpoint list, all GET and read-only: User (by username, by IDs, replies, media, tweets, followings, following IDs, followers, verified followers, follower IDs, highlights, about), Posts (post comments, quotes, retweets, tweet details, tweets by IDs), Explore (search x3, autocomplete), Spaces, Organization affiliates, Lists, Community, Jobs, Trends"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "A read-only X data API sold through the RapidAPI marketplace with unusually broad endpoint coverage for the price: search, timelines, profiles, tweet detail, followers, replies, quotes, retweets, lists, communities, spaces, jobs and trends, all metered as one plain request each. The catch is that every plan is a hard-capped monthly request quota with no overage, so an exhausted quota fails calls rather than costing more, there is no free plan (entry is $1/month for 1,000 requests), and the listed request price is not the whole bill because RapidAPI meters bandwidth separately at $0.001 per MB above 10,240 MB a month. Page size is not documented, so a per-tweet cost cannot be read off this listing.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1,
            "per1kUsd": 1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1,
            "per1kUsd": 0.1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 25,
            "per1kUsd": 0.25,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 25,
            "per1kUsd": 0.025,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1,
            "per1kUsd": 1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1,
            "per1kUsd": 0.1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 25,
            "per1kUsd": 0.25,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 25,
            "per1kUsd": 0.025,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1,
            "per1kUsd": 1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 25,
            "per1kUsd": 2.5,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 25,
            "per1kUsd": 0.25,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "Mega",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1,
            "per1kUsd": 1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 25,
            "per1kUsd": 2.5,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 25,
            "per1kUsd": 0.25,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "Mega",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1,
            "per1kUsd": 1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1,
            "per1kUsd": 0.1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 1,
            "per1kUsd": 0.01,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 25,
            "per1kUsd": 0.025,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 1,
            "per1kUsd": 1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1,
            "per1kUsd": 0.1,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 25,
            "per1kUsd": 0.25,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 25,
            "per1kUsd": 0.025,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "twitterapi-io",
      "name": "twitterapi.io",
      "homepage": "https://twitterapi.io",
      "pricingUrl": "https://twitterapi.io/pricing",
      "docsUrl": "https://docs.twitterapi.io/introduction",
      "logoDomain": "twitterapi.io",
      "hq": "US",
      "founded": null,
      "billing": {
        "model": "credits",
        "freeTier": {
          "calls": null,
          "period": "once",
          "creditCardRequired": false,
          "note": "The homepage offers \"$0.1 in free credits\" on signup with \"no credit card required\". No call count is printed; at the 15-credit per-call minimum that balance is a dollar figure, not a call allowance."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": false,
        "expiryNote": "\"Recharged credits never expire.\" Bonus credits are different: \"Bonus credits included with every recharge\" and \"Bonus credits valid for 30 days\".",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "credit",
        "search": {
          "units": 15,
          "per": "result",
          "resultsPerRequest": 20,
          "minPerRequestUsd": 0.00015
        },
        "user_tweets": {
          "units": 15,
          "per": "result",
          "resultsPerRequest": 20,
          "minPerRequestUsd": 0.00015
        },
        "profile": {
          "units": 18,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.00015
        },
        "tweet": {
          "units": 15,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.00015
        },
        "followers": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": 200,
          "minPerRequestUsd": 0.00015
        },
        "replies": {
          "units": 15,
          "per": "result",
          "resultsPerRequest": 20,
          "minPerRequestUsd": 0.00015
        },
        "note": "Priced in credits, and \"1 USD = 100,000 Credits\", so 15 credits is $0.00015 and 18 credits is $0.00018. The pricing page's CREDIT_USAGE table prints 15 credits \"Per returned Tweet\", 18 credits \"Per returned Profile\", 1-3 credits per returned follower or following item and 0.45-2 credits per returned follower ID. Followers and following are tiered by how many the call returns: 3 credits each at 20-99, 2 each at 100-199, 1 each at 200 (max), so the 1 recorded here is the best case at a full 200-item page. Follower IDs are a separate cheaper endpoint at 2 credits (50-199), 1 credit (200-3,999) and 0.45 credits (4,000-5,000) per ID. Every call carries a \"Minimum $0.00015 (15 Credits) per API call (waived for bulk data responses)\"; the worked example says a call returning 0 or 1 tweet still costs 15 credits. From October 1st, \"List function calls: $0.0015 (150 Credits) per API call\"."
      },
      "plans": [
        {
          "name": "Pay as you go",
          "monthlyUsd": 0,
          "includedUnits": 0,
          "overagePerUnitUsd": 0.00001,
          "hardCap": false,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Pay as you go, no minimum spend required.\" Overage here is the USD value of one credit ($1 / 100,000). Higher recharge amounts \"get bigger discounts (up to 5% off)\" and every recharge adds bonus credits valid 30 days; the discount ladder itself is not printed on the pricing page."
        },
        {
          "name": "Subscription",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": null,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "The pricing page advertises \"Save more with a subscription - recharge bonus + monthly credit return on top of the per-call prices below\" but prints no subscription price or allowance."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 0,
          "maxUnits": null,
          "perUnitUsd": 0.00001
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "likes",
          "lists",
          "communities",
          "spaces",
          "trends",
          "thread",
          "search_users",
          "write"
        ],
        "writeActions": true,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": false,
        "pagination": "cursor",
        "bulkOrBatch": true,
        "realtimeStream": true,
        "selfHosted": false,
        "sla": true,
        "legalShield": false
      },
      "performance": {
        "claimedAvgLatencySeconds": 0.5,
        "claimedSuccessRatePct": null,
        "source": "https://twitterapi.io/"
      },
      "sources": [
        {
          "url": "https://twitterapi.io/pricing",
          "capturedAt": "2026-09-08",
          "note": "rendered page: $0.15/1K tweets, $0.18/1K users, followers from $0.01/1K tiered, follower IDs from $0.0045/1K tiered, credit usage table, 1 USD = 100,000 credits, $0.00015 per-call minimum, list calls $0.0015 from October 1st, recharged credits never expire, bonus credits valid 30 days, up to 5% recharge discount, operated by Prism Digital, LLC, Newark, DE, US"
        },
        {
          "url": "https://twitterapi.io/",
          "capturedAt": "2026-09-08",
          "note": "$0.1 free credits on signup with no credit card, 75+ endpoints, 1000+ req/s, median under 500ms, 99.99% uptime SLA claim"
        },
        {
          "url": "https://docs.twitterapi.io/introduction",
          "capturedAt": "2026-09-08",
          "note": "$0.15/1k tweets, $0.18/1k user profiles, $0.01/1k follower/following profiles, $0.0045/1k follower IDs, $0.00015 per request even if no data returned, follower IDs up to 5k per call"
        },
        {
          "url": "https://docs.twitterapi.io/api-reference/endpoint/tweet_advanced_search",
          "capturedAt": "2026-09-08",
          "note": "\"Each page returns up to 20 replies\" - the 20 page size for search and reply pages"
        },
        {
          "url": "https://docs.twitterapi.io/api-reference/endpoint/get_user_followers",
          "capturedAt": "2026-09-08",
          "note": "page size \"Default is 200. min 20, max 200\" and the per-follower credit tiers"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The best-known independent X API and the only one here that meters strictly per item returned, so a thin page costs less than a full one and a dense query costs more; 75+ endpoints, write actions, a filtered stream and a $0.00015 floor on every call. The catch is that it is the dearest per tweet in this set at $0.15 per 1,000, its follower pricing only reaches the headline $0.01/1K when you pull a full 200-item page, and the subscription it advertises has no printed price.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.5000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 15.000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.5000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 15.000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.18000000000000002,
            "per1kUsd": 0.18,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.8,
            "per1kUsd": 0.18,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 18,
            "per1kUsd": 0.18,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 180.00000000000003,
            "per1kUsd": 0.18,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.5000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 15.000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.01,
            "per1kUsd": 0.01,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.1,
            "per1kUsd": 0.01,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 1,
            "per1kUsd": 0.01,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 10,
            "per1kUsd": 0.01,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.15000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 1.5000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 15.000000000000002,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 150,
            "per1kUsd": 0.15,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "twitterapis",
      "name": "TwitterAPIs",
      "homepage": "https://twitterapis.com",
      "pricingUrl": "https://twitterapis.com/pricing",
      "docsUrl": "https://twitterapis.com/docs",
      "logoDomain": "twitterapis.com",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "payg",
        "freeTier": {
          "calls": 625,
          "period": "once",
          "creditCardRequired": false,
          "note": "\"New accounts start with $0.50 in free credits\", \"no card\", which the page itself prints as \"roughly 625 standard calls, about 12,500 tweets\". \"Credits never expire.\" Separately, \"1 monitored account is free, forever\"."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": false,
        "expiryNote": "\"Top up once. Credits never expire and there is no subscription.\" Purchased credits are non-refundable.",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "request",
        "search": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 20,
          "minPerRequestUsd": 0.0008
        },
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 20,
          "minPerRequestUsd": 0.0008
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.0008
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.0008
        },
        "followers": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": 0.0008
        },
        "replies": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": 20,
          "minPerRequestUsd": 0.0008
        },
        "note": "Flat USD per call on four printed tiers across 99 endpoints: \"Standard $0.0008, DM and create $0.0016, full history $0.0024, full thread $0.004.\" The endpoint table puts tweet/advanced_search, tweet/detail, tweet/replies, tweet/quotes, tweet/retweeters, user/search, user/info, user/tweets, user/followers, user/following and every simple write at $0.0008; user/tweets/complete (full account history) at $0.0024; tweet/thread and grok/chat at $0.004; tweet/create, dm/list, dm/send, dm/conversation, list/create and the article write calls at $0.0016; user/user_login at $0.010. Page size: \"$0.0008 a call, $0.04 per 1,000 tweets on a full 20-tweet page\", and the page is candid that 20 is \"the default page size we request, not a guaranteed yield\" - \"measured across 396,817 of our own read calls, pages averaged about 13 tweets, and search pages closer to 8\", making a realistic delivered cost \"nearer $0.06 to $0.11 per 1,000\". No follower page size is printed. Rate limit is \"600 requests per minute and 20 concurrent per key\"."
      },
      "plans": [
        {
          "name": "Pay as you go",
          "monthlyUsd": 0,
          "includedUnits": 0,
          "overagePerUnitUsd": 0.0008,
          "hardCap": false,
          "oneTime": false,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"No subscription or contract, pay per call, stop whenever. No minimum spend.\""
        },
        {
          "name": "Credit top-up",
          "monthlyUsd": 10,
          "includedUnits": 12500,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "oneTime": true,
          "validityMonths": null,
          "delivery": "live",
          "note": "\"Buy credits starting at $10 (12,500 calls / ~250,000 tweets) and they never expire.\" The buy widget offers $10, $25, $50, $100, $250 or a custom amount at the same $0.0008 rate ($50 is printed as \"62,500 reads at $0.0008\"); paying with crypto adds \"+2% credits\", so $50 becomes 63,750 reads. This is a prepaid pack, not a monthly fee."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 0,
          "maxUnits": null,
          "perUnitUsd": 0.0008
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "likes",
          "lists",
          "communities",
          "spaces",
          "trends",
          "thread",
          "article",
          "search_users",
          "dm",
          "write"
        ],
        "writeActions": true,
        "historicalSearch": true,
        "loginWalledData": true,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": "cursor",
        "bulkOrBatch": null,
        "realtimeStream": true,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "sources": [
        {
          "url": "https://twitterapis.com/pricing",
          "capturedAt": "2026-09-08",
          "note": "rendered page: $0.0008 per standard call, $0.0016 DM and create, $0.0024 full history, $0.004 full thread, full 75-endpoint price table, $10-$250 credit packs, $50 = 62,500 reads, +2% for crypto, $0.50 signup credit with no card, credits never expire and are non-refundable, no minimum spend, ~20 tweets per call and the measured 13/8 tweets-per-page figures, monitoring plans $15 to $799 per month with 1 account free forever"
        },
        {
          "url": "https://twitterapis.com/",
          "capturedAt": "2026-09-08",
          "note": "$0.0008 per call every endpoint, 99 endpoints (63 reads, 36 writes), 600 requests per minute and 20 concurrent per key, $0.50 free credits at signup"
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The cheapest printed per-call rate in this set at $0.0008 for nearly every one of 99 endpoints, reads and simple writes alike, with a $0.50 signup credit, no card, no minimum and credits that never expire. The catch is honest and printed on its own page: the $0.04 per 1,000 tweets headline assumes a full 20-tweet page, and its own measured average is about 13 tweets a page and 8 on search, which puts the real delivered cost nearer $0.06 to $0.11 per 1,000; purchased credits are also non-refundable and real-time monitoring is a separate monthly subscription.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.04,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.4,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 4,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 40,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.04,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.4,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 4,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 40,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.8,
            "per1kUsd": 0.8,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 8,
            "per1kUsd": 0.8,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 80,
            "per1kUsd": 0.8,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 800,
            "per1kUsd": 0.8,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.8,
            "per1kUsd": 0.8,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 8,
            "per1kUsd": 0.8,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 80,
            "per1kUsd": 0.8,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 800,
            "per1kUsd": 0.8,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.004,
            "per1kUsd": 0.004,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.04,
            "per1kUsd": 0.004,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 0.4,
            "per1kUsd": 0.004,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 4,
            "per1kUsd": 0.004,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 0.04,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 0.4,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 4,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 40,
            "per1kUsd": 0.04,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "twtapi",
      "name": "TwtAPI",
      "homepage": "https://twtapi.com",
      "pricingUrl": "https://twtapi.com/en/pricing/",
      "docsUrl": "https://twtapi.com/en/docs/",
      "logoDomain": "twtapi.com",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "subscription",
        "freeTier": {
          "calls": 300,
          "period": "month",
          "creditCardRequired": null,
          "note": "The pricing page prints a Free plan at $0.00/month with 300 API calls a month and a 100 requests/hour rate limit. Whether a card is required to activate it is not printed anywhere on the pricing, FAQ or terms pages, so creditCardRequired is null."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": null,
        "expiryNote": "The docs expose a per-month quota (monthly_limit, month_calls, monthly_remaining, quota_period_start), and the FAQ prints that requests are blocked once the monthly calls or credits are exhausted, but no page states whether unused calls roll into the next period, so this is null rather than assumed.",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "request",
        "search": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "replies": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "note": "TwtAPI sells API calls, not results, so basis is request and units is the number of calls one query consumes. The pricing page quotes each plan purely as 'N API calls/month' and TwtAPI publishes no per-endpoint cost table or multiplier, so every documented endpoint is recorded at one call. resultsPerRequest is null throughout because the docs print page sizes only inside example query strings, never as a documented default."
      },
      "plans": [
        {
          "name": "Free",
          "monthlyUsd": 0,
          "includedUnits": 300,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "delivery": "live",
          "note": "300 API calls/month, 100 req/hour rate limit."
        },
        {
          "name": "Basic",
          "monthlyUsd": 15,
          "includedUnits": 50000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "delivery": "live",
          "note": "50,000 API calls/month, 100 req/sec rate limit. The page prints $15.00/month as the one-time entitlement price and $12.00/month for the recurring subscription."
        },
        {
          "name": "Plus",
          "monthlyUsd": 40,
          "includedUnits": 150000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "delivery": "live",
          "note": "150,000 API calls/month, 100 req/sec rate limit. $40.00/month one-time, $36.00/month on subscription."
        },
        {
          "name": "Pro",
          "monthlyUsd": 90,
          "includedUnits": 400000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "delivery": "live",
          "note": "400,000 API calls/month, 100 req/sec rate limit. $90.00/month one-time, $80.00/month on subscription."
        },
        {
          "name": "Ultra",
          "monthlyUsd": 350,
          "includedUnits": 1000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "delivery": "live",
          "note": "1,000,000 API calls/month, 100 req/sec rate limit. $350.00/month one-time, $300.00/month on subscription. Marked Most Popular on the pricing page."
        },
        {
          "name": "Mega",
          "monthlyUsd": 500,
          "includedUnits": 2000000,
          "overagePerUnitUsd": null,
          "hardCap": true,
          "delivery": "live",
          "note": "2,000,000 API calls/month, 100 req/sec rate limit. $500.00/month one-time, $400.00/month on subscription."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "likes",
          "lists",
          "communities",
          "trends",
          "article",
          "thread",
          "search_users"
        ],
        "writeActions": null,
        "historicalSearch": null,
        "loginWalledData": null,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": "cursor",
        "bulkOrBatch": true,
        "realtimeStream": null,
        "selfHosted": null,
        "sla": false,
        "legalShield": false
      },
      "performance": null,
      "sources": [
        {
          "url": "https://twtapi.com/en/pricing/",
          "capturedAt": "2026-09-08",
          "note": "plan table: Free $0.00/month with 300 API calls/month and 100 req/hour; Basic $15.00/month (subscribe $12.00) with 50,000 calls; Plus $40.00 (subscribe $36.00) with 150,000; Pro $90.00 (subscribe $80.00) with 400,000; Ultra $350.00 (subscribe $300.00) with 1,000,000; Mega $500.00 (subscribe $400.00) with 2,000,000; all paid plans 100 req/sec. FAQ prints 'When monthly calls or credits are exhausted, API requests are blocked; there is no automatic overage billing' and 'We do not currently publish a guaranteed response-time SLA'."
        },
        {
          "url": "https://twtapi.com/en/docs/",
          "capturedAt": "2026-09-08",
          "note": "API reference; /myapi/status returns credits, plan, monthly_limit, month_calls, monthly_remaining, rate_limit_per_second, rate_limit_per_hour and quota_period_start. Endpoint list under https://api.twtapi.com/api/v1/twitter includes Search, Trends, AutoComplete, UserResultByScreenName, UserResultByRestId, UsernameToUserId, UserTweets, UserTweetsReplies, UserMedia, UserLikes, UserFollowers, UserFollowing, UserVerifiedFollowers, UserSubscriptions, FollowersIds, FollowingIds, FollowersLight, FollowingLight, TweetDetail, TweetDetailv2, TweetDetailv3, TweetDetailConversation, TweetDetailConversationv2, TweetResultsByRestIds, TweetArticle, TweetQuotes, TweetRetweeters, TweetFavoriters, ListSearch, ListTweetsTimeline, ListMembersTimeline, ListSubscribersTimeline, Community endpoints and TranslateTweet/TranslateProfile. Responses carry next_cursor/previous_cursor and next_token/previous_token. No endpoint costs more than one call anywhere on the page, and no per-endpoint price table is published."
        },
        {
          "url": "https://twtapi.com/en/terms/",
          "capturedAt": "2026-09-08",
          "note": "'Pricing, quotas, and billing cycles are as shown on the pricing and order confirmation pages. Payment may be one-time or subscription-based', 'payments are non-refundable', 'You may not resell, sublicense, or supply our API or raw data obtained through it to third parties in bulk without authorization', and the service is provided as is with no data guarantee. No company address or founding year is printed."
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The broadest documented X endpoint surface of any provider on this list at a flat call price, covering timelines, followers, conversations, lists, communities, trends and translation, and the entry plan is only $15 for 50,000 calls. The catch is that quotas are a hard wall with no overage, the operator publishes no company details, no SLA and only a Telegram handle and email for support, and the terms forbid reselling the data in bulk.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 15,
            "per1kUsd": 15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 15,
            "per1kUsd": 1.5,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 15,
            "per1kUsd": 0.15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 15,
            "per1kUsd": 0.015,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 15,
            "per1kUsd": 15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 15,
            "per1kUsd": 1.5,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 15,
            "per1kUsd": 0.15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 15,
            "per1kUsd": 0.015,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 15,
            "per1kUsd": 15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 15,
            "per1kUsd": 1.5,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 40,
            "per1kUsd": 0.4,
            "via": "Plus",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 350,
            "per1kUsd": 0.35,
            "via": "Ultra",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 15,
            "per1kUsd": 15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 15,
            "per1kUsd": 1.5,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 40,
            "per1kUsd": 0.4,
            "via": "Plus",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 350,
            "per1kUsd": 0.35,
            "via": "Ultra",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 15,
            "per1kUsd": 15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 15,
            "per1kUsd": 1.5,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 15,
            "per1kUsd": 0.15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 15,
            "per1kUsd": 0.015,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 15,
            "per1kUsd": 15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 15,
            "per1kUsd": 1.5,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 15,
            "per1kUsd": 0.15,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 15,
            "per1kUsd": 0.015,
            "via": "Basic",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "twttrapi",
      "name": "TwttrAPI",
      "homepage": "https://twttrapi.com",
      "pricingUrl": "https://rapidapi.com/twttrapi-twttrapi-default/api/twttrapi/pricing",
      "docsUrl": "https://rapidapi.com/twttrapi-twttrapi-default/api/twttrapi/playground",
      "logoDomain": "twttrapi.com",
      "hq": "unknown",
      "founded": null,
      "billing": {
        "model": "subscription",
        "freeTier": {
          "calls": 50,
          "period": "month",
          "creditCardRequired": true,
          "note": "RapidAPI Basic plan, $0.00/mo: 50 Scraping & Search calls a month, 50 each for Notifications/Friendships/Profile Update, Create/Follow/Like/Retweet and Upload, 10 Logins, no Direct Messages, and no stated rate limit. Overage on every bucket is $0.0001 per call. The pricing page carries the RapidAPI FAQ 'Why Do You Require A Credit Card For A Freemium API?', so a card is required."
        },
        "minimumMonthlyUsd": 0,
        "creditsExpire": true,
        "expiryNote": "Quotas are monthly RapidAPI allowances; nothing on the pricing page says unused calls roll over.",
        "annualDiscountPct": null,
        "prepaidOnly": false,
        "payAsYouGoAvailable": false
      },
      "unitCost": {
        "basis": "request",
        "search": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "replies": {
          "units": 1,
          "per": "request",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "note": "TwttrAPI sells monthly request quotas on RapidAPI, split into six separate buckets rather than one pooled count. Every read endpoint here - Search Top/Latest, User Tweets, Get User, Get Tweet, User Followers and User Replies - costs one call from the 'Scraping & Search' bucket, so units is 1 for all six verticals and the USD rate comes from the plan. Overage past a plan's Scraping & Search allowance is $0.0001 per call. A separate 'Bandwidth Platform Fee' bucket gives 10240MB a month on every plan and then charges $0.001 per 1MB, so a heavy response can cost more than the call itself."
      },
      "plans": [
        {
          "name": "Basic",
          "monthlyUsd": 0,
          "includedUnits": 50,
          "overagePerUnitUsd": 0.0001,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "RapidAPI free plan. includedUnits is the 50/month Scraping & Search allowance; the other buckets are 50/month (10 Logins) and Direct Messages are not included."
        },
        {
          "name": "Pro",
          "monthlyUsd": 59,
          "includedUnits": 1000000,
          "overagePerUnitUsd": 0.0001,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "$59.00/mo. Scraping & Search 1,000,000/month, Notifications/Friendships/Profile Update 2,000,000, Create/Follow/Like/Retweet 2,000,000, Direct Messages 1,000,000, Upload 50,000 (+$0.001), Login 10,000 (+$0.01), 10 requests per second. twttrapi.com advertises this plan as 'Up to 2,000,000 requests per month'; on the RapidAPI checkout the read/scrape bucket is 1,000,000."
        },
        {
          "name": "Ultra",
          "monthlyUsd": 119,
          "includedUnits": 2000000,
          "overagePerUnitUsd": 0.0001,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "$119.00/mo, marked Recommended. Scraping & Search 2,000,000/month, Notifications/Friendships/Profile Update 4,000,000, Create/Follow/Like/Retweet 4,000,000, Direct Messages 2,000,000, Upload 100,000 (+$0.001), Login 20,000 (+$0.01), 15 requests per second. twttrapi.com advertises 'Up to 4,000,000 requests per month'."
        },
        {
          "name": "Mega",
          "monthlyUsd": 329,
          "includedUnits": 8000000,
          "overagePerUnitUsd": 0.0001,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "$329.00/mo. Scraping & Search 8,000,000/month, Notifications/Friendships/Profile Update 8,000,000, Create/Follow/Like/Retweet 8,000,000, Direct Messages 8,000,000, Upload 500,000 (+$0.001), Login 30,000 (+$0.01), 20 requests per second. This is the one plan where twttrapi.com's headline (8,000,000) and the RapidAPI scrape bucket agree."
        },
        {
          "name": "Enterprise",
          "monthlyUsd": 3400,
          "includedUnits": 0,
          "overagePerUnitUsd": 0,
          "hardCap": false,
          "requiresPrepaidUsd": null,
          "oneTime": null,
          "validityMonths": null,
          "delivery": "live",
          "note": "Printed on twttrapi.com as 'Requests per month: unlimited, Number of Requests Per Second 200 RPS, $3,400 / month' behind a Contact Us button. It is not offered on the RapidAPI pricing tab, The plan is sold as unlimited, recorded as no allowance and a zero rate beyond it, so the month costs $3,400 whatever the volume."
        }
      ],
      "payAsYouGoTiers": null,
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "scraper",
        "endpoints": [
          "search",
          "search_users",
          "user_tweets",
          "replies",
          "tweet",
          "thread",
          "profile",
          "followers",
          "following",
          "likes",
          "lists",
          "write"
        ],
        "writeActions": true,
        "historicalSearch": null,
        "loginWalledData": true,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": null,
        "bulkOrBatch": null,
        "realtimeStream": null,
        "selfHosted": null,
        "sla": null,
        "legalShield": null
      },
      "performance": null,
      "sources": [
        {
          "url": "https://twttrapi.com/",
          "capturedAt": "2026-09-08",
          "note": "headline plan cards: Pro $59/mo 'Up to 2,000,000 requests per month and 10 requests per second', Ultra $119/mo 4,000,000 and 15 rps, Mega $329/mo 8,000,000 and 20 rps, and the Enterprise card 'Requests per month: unlimited / 200 RPS / $3,400 / month'. Also the disclaimer that TwttrAPI is not affiliated with X Corp. twttrapi.com/pricing returns HTTP 404; the site's Pricing link points at RapidAPI."
        },
        {
          "url": "https://rapidapi.com/twttrapi-twttrapi-default/api/twttrapi/pricing",
          "capturedAt": "2026-09-08",
          "note": "client-rendered RapidAPI pricing tab read with the Aside browser: Basic $0.00/mo, Pro $59.00/mo, Ultra $119.00/mo, Mega $329.00/mo, each with per-bucket monthly quotas, per-call overage rates, the rate limit, and the 10240MB/month bandwidth platform fee at +$0.001 per 1MB."
        },
        {
          "url": "https://rapidapi.com/twttrapi-twttrapi-default/api/twttrapi/playground",
          "capturedAt": "2026-09-08",
          "note": "endpoint list read with the Aside browser: Tweets (Get Tweet, Get Tweet Conversation, User Tweets, User Replies, User Media, For You Timeline, Following Timeline, Create Tweet, Delete Tweet), Search (Suggestions, Top, Latest, Users, Images, Videos), Users (Get User, Get User By ID, User Followers, User Following), Like & Retweet, Login, Profile, Notifications, Bookmarks, Upload, Friendships, Block, Lists."
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The cheapest big-volume X plan on this list and the only one that also writes - it logs in, posts, follows, likes, retweets and reads notifications, bookmarks and timelines, on top of search, profiles, tweets, followers and replies. The catch is that the headline on twttrapi.com is not what you buy: checkout is RapidAPI, quotas are split into six buckets, and the Pro plan's read bucket is 1,000,000 Scraping & Search calls a month, not the 2,000,000 the site advertises. Add the 10240MB bandwidth allowance at $0.001 per extra 1MB, a credit card even for the free Basic plan, and no published company, SLA or success rate.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 59,
            "per1kUsd": 59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 59,
            "per1kUsd": 5.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 59,
            "per1kUsd": 0.59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 59,
            "per1kUsd": 0.059,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 59,
            "per1kUsd": 59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 59,
            "per1kUsd": 5.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 59,
            "per1kUsd": 0.59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 59,
            "per1kUsd": 0.059,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 59,
            "per1kUsd": 59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 59,
            "per1kUsd": 5.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 59,
            "per1kUsd": 0.59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 59,
            "per1kUsd": 0.059,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 59,
            "per1kUsd": 59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 59,
            "per1kUsd": 5.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 59,
            "per1kUsd": 0.59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 59,
            "per1kUsd": 0.059,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 59,
            "per1kUsd": 59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 59,
            "per1kUsd": 5.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 59,
            "per1kUsd": 0.59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 59,
            "per1kUsd": 0.059,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 59,
            "per1kUsd": 59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 59,
            "per1kUsd": 5.9,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 59,
            "per1kUsd": 0.59,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 59,
            "per1kUsd": 0.059,
            "via": "Pro",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    },
    {
      "slug": "official-x-api",
      "name": "X API",
      "homepage": "https://developer.x.com",
      "pricingUrl": "https://docs.x.com/x-api/getting-started/pricing",
      "docsUrl": "https://docs.x.com/x-api/getting-started/about-x-api",
      "logoDomain": "x.com",
      "hq": "US",
      "founded": null,
      "billing": {
        "model": "credits",
        "freeTier": null,
        "minimumMonthlyUsd": 0,
        "creditsExpire": null,
        "expiryNote": "The pricing page says credits are purchased upfront in the Developer Console and deducted in real time, and that a balance can go slightly negative. It does not state whether unused credits expire, so this is left unstated.",
        "annualDiscountPct": 0,
        "prepaidOnly": true,
        "payAsYouGoAvailable": true
      },
      "unitCost": {
        "basis": "result",
        "note": "Reads are charged per resource returned, not per request: Posts $0.005, User $0.010, Following/Followers $0.010, Like $0.001, List $0.005, Space $0.005, Community $0.005, DM Event $0.010, Mute and Block $0.001 each. Writes are charged per request (Post: Create $0.015, $0.200 with a URL, Trends $0.010, Counts: Recent $0.005, Counts: All $0.010, and others). Every resource is deduplicated within a 24-hour UTC window, so refetching the same Post or user inside a day is free. Reading your own data through the listed Owned Read endpoints is $0.001 per resource. Verticals here map to the printed resource rates: search, user_tweets, tweet and replies are all Post resources at $0.005; profile is a User read at $0.010; followers is a Following/Followers read at $0.010. The unit recorded here is one Post read at $0.005, the rate carried on the plan, so units is 1 for the Post verticals and 2 for the User and Followers ones. resultsPerRequest is the printed recent-search page size of 100 Posts; full-archive search prints 500 Posts per request.",
        "search": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": 100,
          "minPerRequestUsd": null
        },
        "user_tweets": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "profile": {
          "units": 2,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "tweet": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "followers": {
          "units": 2,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        },
        "replies": {
          "units": 1,
          "per": "result",
          "resultsPerRequest": null,
          "minPerRequestUsd": null
        }
      },
      "plans": [
        {
          "name": "Pay-per-use",
          "monthlyUsd": 0,
          "includedUnits": 0,
          "overagePerUnitUsd": 0.005,
          "hardCap": true,
          "delivery": "live",
          "note": "Prepaid credits with no contract, no subscription and no minimum spend. Nothing is included: every read is paid for at $0.005 per Post resource from the first one. The printed ceiling is a cap, not an allowance: \"Pay-per-usage plans are capped at 3 million Post reads per monthly billing cycle\", which is recorded as the pay-as-you-go tier maxUnits. Above the cap the docs send you to Enterprise. A self-set spending limit blocks requests for the rest of the billing cycle when it is reached."
        },
        {
          "name": "Enterprise",
          "monthlyUsd": null,
          "includedUnits": null,
          "overagePerUnitUsd": null,
          "hardCap": false,
          "note": "Named in the docs as the upgrade path above 3 million Post reads a month, and as the tier that raises the search query length to 4,096 characters. No price is published."
        }
      ],
      "payAsYouGoTiers": [
        {
          "minUnits": 0,
          "maxUnits": 3000000,
          "perUnitUsd": 0.005
        }
      ],
      "features": {
        "engines": [
          "twitter"
        ],
        "verticals": [],
        "kind": "official",
        "endpoints": [
          "search",
          "user_tweets",
          "profile",
          "tweet",
          "followers",
          "following",
          "replies",
          "retweeters",
          "likes",
          "lists",
          "communities",
          "spaces",
          "trends",
          "thread",
          "article",
          "search_users",
          "dm",
          "write"
        ],
        "writeActions": true,
        "historicalSearch": true,
        "loginWalledData": true,
        "rateLimitPublished": true,
        "failedRequestsFree": null,
        "pagination": "cursor",
        "bulkOrBatch": null,
        "realtimeStream": true,
        "selfHosted": false,
        "sla": null,
        "legalShield": null
      },
      "performance": {
        "claimedAvgLatencySeconds": null,
        "claimedSuccessRatePct": null,
        "source": null
      },
      "sources": [
        {
          "url": "https://docs.x.com/x-api/getting-started/pricing",
          "capturedAt": "2026-09-08",
          "note": "per-resource read rates (Posts $0.005, User $0.010, Following/Followers $0.010, Like $0.001, List/Space/Community/Note $0.005, DM Event $0.010, Mute/Block $0.001), per-request write rates, webhook event rates, Owned Reads at $0.001 per resource, the 24-hour UTC deduplication window, the 3 million Post read monthly cap, credit purchase, auto-recharge, spending limits, and the xAI credit rebate tiers"
        },
        {
          "url": "https://docs.x.com/x-api/getting-started/about-x-api",
          "capturedAt": "2026-09-08",
          "note": "pay-per-usage with no subscriptions, resource types (Posts, Users, Spaces, Direct Messages, Lists, Trends), conversation tracking for replies and threads"
        },
        {
          "url": "https://docs.x.com/x-api/posts/search/introduction",
          "capturedAt": "2026-09-08",
          "note": "Recent Search covers 7 days at up to 100 Posts per request; Full-Archive Search covers the complete archive back to March 2006 and is available to pay-per-use and Enterprise customers; the left-hand endpoint tree used for the endpoints list"
        },
        {
          "url": "https://docs.x.com/x-api/getting-started/getting-access",
          "capturedAt": "2026-09-08",
          "note": "sign-up is a developer account plus an app in the Developer Console; no free allowance is offered"
        },
        {
          "url": "https://developer.x.com/en/portal/products",
          "capturedAt": "2026-09-08",
          "note": "checked in a real browser: redirects to the x.com login wall, so no public tier table lives there. developer.x.com/en/products/x-api now 301s to a docs.x.com 404. The old Free/Basic/Pro/Enterprise subscription tiers are gone from every public page; the docs state outright that there are no subscriptions."
        }
      ],
      "capturedAt": "2026-09-08",
      "notes": "The only first-party source: it is the sole way to write to X, stream in real time, read DMs, or search the complete Post archive back to March 2006, and its 24-hour deduplication window makes repeated reads of the same Post free within a day. The catch is price and shape: reads bill per resource returned, so a single 100-Post search page costs $0.50 and a user lookup $0.010, roughly two to three orders of magnitude above the resellers, pay-per-use is hard-capped at 3 million Post reads a month, and there is no free tier now that the old Free, Basic and Pro subscription tiers have been retired.",
      "normalized": {
        "search": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 5,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 50,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 500,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 5000,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "user_tweets": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 5,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 50,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 500,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 5000,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "profile": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 10,
            "per1kUsd": 10,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 100,
            "per1kUsd": 10,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 1000,
            "per1kUsd": 10,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 10000,
            "per1kUsd": 10,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "tweet": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 5,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 50,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 500,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 5000,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "followers": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 10,
            "per1kUsd": 10,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 100,
            "per1kUsd": 10,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 1000,
            "per1kUsd": 10,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 10000,
            "per1kUsd": 10,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ],
        "replies": [
          {
            "unitsPerMonth": 1000,
            "monthlyUsd": 5,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 10000,
            "monthlyUsd": 50,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 100000,
            "monthlyUsd": 500,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          },
          {
            "unitsPerMonth": 1000000,
            "monthlyUsd": 5000,
            "per1kUsd": 5,
            "via": "pay as you go",
            "prepaidUsd": null,
            "queuePer1kUsd": null,
            "queueVia": null,
            "blocked": null
          }
        ]
      }
    }
  ]
}