> ## Documentation Index
> Fetch the complete documentation index at: https://x-preview-media-metadata.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

## Comparing X API’s filtered stream endpoints

The v2 filtered stream endpoints group is replacing the [standard v1.1 statuses/filter](https://developer.x.com/en/docs/x-api/v1/tweets/filter-realtime/api-reference/post-statuses-filter) and [PowerTrack API](/x-api/enterprise-gnip-2.0/powertrack-api). If you have code, apps, or tools that use an older version of the filtered stream endpoint, and are considering migrating to the newer X API v2 endpoint, then this comparison can help you get started. 

See our more in depth migration guides for:

[Migrating from Standard v1.1 compared to X API v2](x-api/posts/filtered-stream#standard-v1-1-compared-to-x-api-v2)

[Migrating from PowerTrack API migration to X API v2](/x-api/enterprise-gnip-2.0/powertrack-api#powertrack-operators)

The following table compares the filtered streaming endpoints X offers:
 

| **Description** | **Standard v1.1** | **PowerTrack API** | **X API v2** |
| :- | :- | :- | :- |
| Access | X App | Requires an enterprise contract and account | Requires a developer account ([sign up](https://developer.x.com/en/portal/petition/essential/basic-info)), and [X App](/resources/fundamentals/developer-apps) within a [Project](/resources/fundamentals/projects) |
| :--- | :--- | :--- | :--- |
| Host domain | ******[https://stream.x.com](https://stream.x.com)****** | ******[https://gnip-stream.x.com](https://gnip-stream.x.com)****** | ******[https://api.x.com](https://api.x.com)****** |
| Endpoint path | ******1.1/statuses/filter.json****** | ******/stream/powertrack/accounts/{gnip_account_name}/publishers/twitter/{stream_label}.json******<br /><br />******/rules/powertrack/accounts/{gnip_account_name}/publishers/twitter/{stream_label}.json ******<br /><br />******/rules/powertrack/accounts/{gnip_account_name}/publishers/twitter/{stream_label}/validation.json****** | ******/2/tweets/search/stream******<br /><br />******/2/tweets/search/stream/rules****** |
| [Authentication](/resources/fundamentals/authentication) | OAuth 1.0a User Context | HTTP Basic Authentication | OAuth 2.0 App-Only |
| HTTP methods supported | POST | GET  <br />POST | GET  <br />POST |
| Required parameters | Rule defined on connection as parameter, at least one of:<br /><br />\* ******follow******<br />\* ******track******<br />\* ******locations****** | No required parameters for streaming connection, optional backfill parameter.<br /><br />Rules managed separately | No required parameters for streaming connection, optional parameters to define response format and add [backfill recovery feature](/x-api/posts/filtered-stream#recovering-missed-data-after-a-disconnection-backfill) for Academic Research access.<br /><br />Rules managed separately |
| Delivery type | Streaming | Streaming<br /><br />REST (for rules management) | Streaming<br /><br />REST (for rules management) |
| Default request rate limits | 5 connection attempts per 5 min | 60 requests per min aggregated for both POST and GET requests<br /><br />/rules:  60 requests per minute, aggregated across all requests to /rules endpoint for the specific stream’s API (POST and GET). | Depends on the endpoint and the [access level](/x-api/getting-started/about-x-api).<br /><br />[GET /2/tweets/search/stream](/x-api/posts/filtered-stream#get-2-tweets-search-stream):  <br />Pro - 50 requests per 15-minutes per App<br /><br />[GET /2/tweets/search/stream/rules](/x-api/posts/filtered-stream#get-2-tweets-search-stream-rules):  <br />Pro - 450 requests per 15-minutes per App<br /><br />---<br /><br />[POST /2/tweets/search/stream/rules](/x-api/posts/adddelete-rules):  <br />Pro - 100 requests per 15 minutes per App |
| Maximum allowed connections | 2 concurrent per authorized user | Supports multiple/redundant connections, determined by contract | Pro access:  <br />1 |
| [Recovery and redundancy features](/x-api/posts/filtered-stream#filtered-stream-recovery-and-redundancy-features) | None | Backfill, redundant connections, and the Replay API | |
| [Post caps](/x-api/fundamentals/post-cap) | Limited to 1% of firehose | Determined by contract | There is a monthly, Project-level Post cap applied to all Posts received from this endpoint:<br /><br />Basic:  <br />10,000 Posts<br /><br />Pro:  <br />1 million Posts |
| Keep-alive signal/heartbeats | blank lines (\r\n or similar) at least every 20 seconds | blank lines (\r\n or similar) every 10 seconds | blank lines (\r\n or similar) at least every 20 seconds |
| Latency | 10 seconds | 2 seconds<br /><br />At least 10 seconds for URL unwinding enrichment | 10 seconds |
| Maximum allowed rules | 1 rule (within the endpoint connection request) | Determined by contract up to 250,000 | Pro access:  <br />1000 rules |
| Rule filter limitations | One query per connection, up to either:<br /><br />- 400 track keywords<br /><br />- 5000 follow user IDs<br /><br />- 25 location boxes | Up to 2,048 characters per rule | Pro Access:   <br />1,024 characters per rule |
| [Post JSON format](/x-api/fundamentals/data-dictionary) | Standard v1.1 format | [Native Enriched](/x-api/enterprise-gnip-2.0/fundamentals/data-dictionary#native-enriched-tweet-object) or [Activity Streams]() (selected within the [console](/x-api/enterprise-gnip-2.0/fundamentals/overview)) | [X API v2 format](/x-api/fundamentals/data-dictionary) (determined by ******fields****** and ******expansions****** request parameters, not backward-compatible with v1.1 formats)<br /><br />To learn more about how to migrate from the Standard v1.1 format to the X API v2 format, please visit our [data formats migration guide](/x-api/migrate/data-format-migration). We will be releasing additional data format migration guides for Native Enriched and Activity Streams soon. |
| Provides Post edit history and metadata | ✔ | ✔ | ✔ |
| Unique Features | Filtering done via query parameters on connection request<br /><br />No configuration UI | Filtering done via rules created through an independent endpoint<br /><br />[Enrichment](/x-api/enterprise-gnip-2.0/enterprise-gnip#enrichments) features available in contract<br /><br />Configuration on console.gnip.com UI | Filtering done via [rules](/x-api/posts/filtered-stream/integrate/build-a-rule) created through an independent endpoint<br /><br />[Metrics](/x-api/fundamentals/metrics) and URL enrichment features included<br /><br />Object [fields](/x-api/fundamentals/fields) and  [expansions](/x-api/fundamentals/expansions) specified with request parameters<br /><br />Post [Annotations](/x-api/fundamentals/post-annotations)<br /><br />[Conversation ID](/x-api/fundamentals/conversation-id) operator and field<br /><br />Configuration through [developer portal](/resources/fundamentals/developer-portal) |

**Other migration resources**

[Standard v1.1 migration to X API v2](/x-api/posts/filtered-stream#standard-v1-1-compared-to-x-api-v2 "Standard v1.1 migration to X API v2")

[PowerTrack API migration to X API v2](/x-api/enterprise-gnip-2.0/powertrack-api#powertrack-operators "PowerTrack API migration to X API v2")

[X API migration hub](/x-api/migrate/overview)

[Check out some sample code for these endpoints](https://github.com/xdevplatform/Twitter-API-v2-sample-code "Check out some sample code for these endpoints")
