scraper-api-com Twitter API

Twitter: read-only. 3 public endpoints, no account needed.

Operations 3

GET /v1/twitter/profile Get an X/Twitter user's profile (stats, verification, metadata) by handle #
GET /v1/twitter/user-tweets Get an X/Twitter user's tweets by handle. #
GET /v1/twitter/tweet Get a single X/Twitter tweet (content + engagement + author) by URL #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/scraper-api-com:scraper-api-com-twitter-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

scraper-api-com-twitter-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: scraper-api.com Twitter API
  version: 0.1.0
  description: 'Self-hosted social media scraping API — a drop-in replacement for scrapecreators.com.


    ## Authentication

    Every request must send your API key in the `x-api-key` header.


    ## Credits

    Billing is credit-based: **1 request = 1 credit** (some endpoints cost more — see each endpoint''s description). Credits are **non-expiring** — buy once, use whenever.


    Response bodies match the ScrapeCreators shapes so existing integrations work unchanged.'
  contact:
    name: Fabian Bitter
    email: fabian@bitter.de
servers:
- url: https://api.scraper-api.com
  description: Production
security:
- apiKeyAuth: []
tags:
- name: Twitter
  description: 'Twitter: read-only. 3 public endpoints, no account needed.'
paths:
  /v1/twitter/profile:
    get:
      tags:
      - Twitter
      summary: Get an X/Twitter user's profile (stats, verification, metadata) by handle
      operationId: twitter_v1_profile
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: handle
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                __typename: User
                id: VXNlcjoxNTc3MjQxNDAz
                rest_id: '1577241403'
                is_blue_verified: true
                core:
                  created_at: Mon Jul 08 09:31:59 +0000 2013
                  name: levelsio
                  screen_name: levelsio
                avatar:
                  image_url: https://pbs.twimg.com/profile_images/mock/levelsio_normal.jpg
                location:
                  location: 🌍 Nomad
                verification_info:
                  is_identity_verified: false
                highlights_info:
                  can_highlight_tweets: true
                  highlighted_tweets: '0'
                creator_subscriptions_count: 0
                tipjar_settings: {}
                legacy:
                  followers_count: 914845
                  friends_count: 1784
                  favourites_count: 88231
                  statuses_count: 66120
                  listed_count: 11040
                  media_count: 9821
                  description: 📸 building AI startups in public
                  name: levelsio
                  screen_name: levelsio
                  location: 🌍 Nomad
                  created_at: Mon Jul 08 09:31:59 +0000 2013
                  profile_image_url_https: https://pbs.twimg.com/profile_images/mock/levelsio_normal.jpg
                  profile_banner_url: https://pbs.twimg.com/profile_banners/1577241403/mock
                  url: https://t.co/mocklink
                  verified: false
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/twitter/user-tweets:
    get:
      tags:
      - Twitter
      summary: Get an X/Twitter user's tweets by handle.
      operationId: twitter_v1_user_tweets
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: handle
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                tweets:
                - __typename: Tweet
                  rest_id: '20'
                  core:
                    user_results:
                      result:
                        __typename: User
                        rest_id: '12'
                        is_blue_verified: true
                        core:
                          name: jack
                          screen_name: jack
                        legacy:
                          name: jack
                          screen_name: jack
                          followers_count: 6600000
                  edit_control:
                    edit_tweet_ids:
                    - '20'
                    is_edit_eligible: false
                    edits_remaining: '5'
                  is_translatable: false
                  views:
                    count: '1234567'
                    state: EnabledWithCount
                  source: <a href="https://twitter.com" rel="nofollow">Twitter Web Client</a>
                  legacy:
                    bookmark_count: 12
                    created_at: Tue Mar 21 20:50:14 +0000 2006
                    conversation_id_str: '20'
                    full_text: just setting up my twttr
                    favorite_count: 307712
                    reply_count: 190000
                    retweet_count: 130000
                    quote_count: 8000
                    lang: en
                    is_quote_status: false
                    id_str: '20'
                    user_id_str: '12'
                    entities:
                      hashtags: []
                      symbols: []
                      urls: []
                      user_mentions: []
                  url: https://x.com/jack/status/20
                next_cursor: null
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
  /v1/twitter/tweet:
    get:
      tags:
      - Twitter
      summary: Get a single X/Twitter tweet (content + engagement + author) by URL
      operationId: twitter_v1_tweet
      description: '**Live endpoint.** Credit cost: **1** (1 request = 1 credit).'
      security:
      - apiKeyAuth: []
      parameters:
      - name: url
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Platform-native JSON payload (ScrapeCreators-compatible).
          content:
            application/json:
              example:
                __typename: Tweet
                rest_id: '20'
                core:
                  user_results:
                    result:
                      __typename: User
                      rest_id: '12'
                      is_blue_verified: true
                      core:
                        name: jack
                        screen_name: jack
                      legacy:
                        name: jack
                        screen_name: jack
                        followers_count: 6600000
                edit_control:
                  edit_tweet_ids:
                  - '20'
                  is_edit_eligible: false
                  edits_remaining: '5'
                is_translatable: false
                views:
                  count: '1234567'
                  state: EnabledWithCount
                source: <a href="https://twitter.com" rel="nofollow">Twitter Web Client</a>
                legacy:
                  bookmark_count: 12
                  created_at: Tue Mar 21 20:50:14 +0000 2006
                  conversation_id_str: '20'
                  full_text: just setting up my twttr
                  favorite_count: 307712
                  reply_count: 190000
                  retweet_count: 130000
                  quote_count: 8000
                  lang: en
                  is_quote_status: false
                  id_str: '20'
                  user_id_str: '12'
                  entities:
                    hashtags: []
                    symbols: []
                    urls: []
                    user_mentions: []
                url: https://x.com/jack/status/20
        '400':
          description: Missing or invalid parameters.
          content:
            application/json:
              example:
                error:
                  message: 'Missing required parameter(s): handle'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              example:
                error:
                  message: Invalid API key.
        '402':
          description: Not enough credits.
          content:
            application/json:
              example:
                error:
                  message: Insufficient credits.
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              example:
                error:
                  message: Rate limit exceeded.
        '502':
          description: Upstream scrape failed.
          content:
            application/json:
              example:
                error:
                  message: Upstream scrape failed.
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your scraper-api.com API key.
x-tagGroups:
- name: Platforms
  tags:
  - Instagram
  - TikTok
  - YouTube
  - Facebook
  - LinkedIn
  - Twitter
  - Spotify
  - Apple Music
  - Kleinanzeigen
  - Quoka
  - markt.de
  - mobile.de
  - '11880'
  - Gelbe Seiten
  - ImmobilienScout24
  - immowelt
  - WG-Gesucht
  - Bayut
  - LOVOO
  - Jaumo
  - Tinder
  - Bumble
  - Snapchat
  - Google
  - Arbeitsagentur
  - Ausbildung.de
  - meinestadt.de