
Best Twitter Scraper
No credit card required

Best Twitter Scraper
No credit card required
Twitter scraper that scrapes the latest Twitter content of any user. Since you need to be logged in to Twitter to crawl, you need to provide a Twitter account. Twitter 抓取器,可以抓取任意用户最新的Twitter内容。 因为需要先登录 Twitter 才能抓取,所以需要提供一个 Twitter 的账号。
You can access the Best Twitter Scraper programmatically from your own applications by using the Apify API. You can choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.
1{
2 "openapi": "3.0.1",
3 "info": {
4 "version": "0.0",
5 "x-build-id": "byfmQLK22Ow5xXz9R"
6 },
7 "servers": [
8 {
9 "url": "https://api.apify.com/v2"
10 }
11 ],
12 "paths": {
13 "/acts/zhangzhenhu~best-twitter-scraper/run-sync-get-dataset-items": {
14 "post": {
15 "operationId": "run-sync-get-dataset-items-zhangzhenhu-best-twitter-scraper",
16 "x-openai-isConsequential": false,
17 "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
18 "tags": [
19 "Run Actor"
20 ],
21 "requestBody": {
22 "required": true,
23 "content": {
24 "application/json": {
25 "schema": {
26 "$ref": "#/components/schemas/inputSchema"
27 }
28 }
29 }
30 },
31 "parameters": [
32 {
33 "name": "token",
34 "in": "query",
35 "required": true,
36 "schema": {
37 "type": "string"
38 },
39 "description": "Enter your Apify token here"
40 }
41 ],
42 "responses": {
43 "200": {
44 "description": "OK"
45 }
46 }
47 }
48 },
49 "/acts/zhangzhenhu~best-twitter-scraper/runs": {
50 "post": {
51 "operationId": "runs-sync-zhangzhenhu-best-twitter-scraper",
52 "x-openai-isConsequential": false,
53 "summary": "Executes an Actor and returns information about the initiated run in response.",
54 "tags": [
55 "Run Actor"
56 ],
57 "requestBody": {
58 "required": true,
59 "content": {
60 "application/json": {
61 "schema": {
62 "$ref": "#/components/schemas/inputSchema"
63 }
64 }
65 }
66 },
67 "parameters": [
68 {
69 "name": "token",
70 "in": "query",
71 "required": true,
72 "schema": {
73 "type": "string"
74 },
75 "description": "Enter your Apify token here"
76 }
77 ],
78 "responses": {
79 "200": {
80 "description": "OK",
81 "content": {
82 "application/json": {
83 "schema": {
84 "$ref": "#/components/schemas/runsResponseSchema"
85 }
86 }
87 }
88 }
89 }
90 }
91 },
92 "/acts/zhangzhenhu~best-twitter-scraper/run-sync": {
93 "post": {
94 "operationId": "run-sync-zhangzhenhu-best-twitter-scraper",
95 "x-openai-isConsequential": false,
96 "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
97 "tags": [
98 "Run Actor"
99 ],
100 "requestBody": {
101 "required": true,
102 "content": {
103 "application/json": {
104 "schema": {
105 "$ref": "#/components/schemas/inputSchema"
106 }
107 }
108 }
109 },
110 "parameters": [
111 {
112 "name": "token",
113 "in": "query",
114 "required": true,
115 "schema": {
116 "type": "string"
117 },
118 "description": "Enter your Apify token here"
119 }
120 ],
121 "responses": {
122 "200": {
123 "description": "OK"
124 }
125 }
126 }
127 }
128 },
129 "components": {
130 "schemas": {
131 "inputSchema": {
132 "type": "object",
133 "required": [
134 "login_user",
135 "login_password"
136 ],
137 "properties": {
138 "login_email": {
139 "title": "email",
140 "type": "string",
141 "description": "The Email for logged in accounts"
142 },
143 "login_user": {
144 "title": "user name",
145 "type": "string",
146 "description": "The user name for logged in accounts"
147 },
148 "login_password": {
149 "title": "password",
150 "type": "string",
151 "description": "The password for logged in accounts"
152 },
153 "names": {
154 "title": "Specific Twitter Profiles",
155 "type": "array",
156 "description": "Provide a list of Twitter profiles to scrape. The profiles should be written as 'username'.Scrape from https://twitter.com/{username}",
157 "items": {
158 "type": "string"
159 }
160 },
161 "tweet_urls": {
162 "title": "Specific Tweet URLs",
163 "type": "array",
164 "description": "List the twitter search URLs you want to scape such as 'https://twitter.com/elonmusk/status/1656898688739057665' if your url contains more such as a cursor like 'https://twitter.com/elonmusk/status/1656898688739057665?s=20' only the tweets on the current screen will be loaded.",
165 "items": {
166 "type": "object",
167 "required": [
168 "url"
169 ],
170 "properties": {
171 "url": {
172 "type": "string",
173 "title": "URL of a web page",
174 "format": "uri"
175 }
176 }
177 }
178 },
179 "search_urls": {
180 "title": "Twitter Search URLs",
181 "type": "array",
182 "description": "List the full links to tweets you want to scape such as 'https://twitter.com/search?q=((MadMaxFuryRoad%20OR%20MadMax%20OR%20%22FuryRoad%22%20OR%20%22GeorgeMiller%22%20OR%20GeorgeMiller%20OR%20TomHardy%20OR%20%22CharlizeTheron%22%20OR%20CharlizeTheron)%20AND%20(Film%20OR%20Movie%20OR%20Review))&src=typed_query&f=top' if your url contains more such as a cursor only the tweets on the current screen will be loaded.",
183 "items": {
184 "type": "object",
185 "required": [
186 "url"
187 ],
188 "properties": {
189 "url": {
190 "type": "string",
191 "title": "URL of a web page",
192 "format": "uri"
193 }
194 }
195 }
196 },
197 "max_tweets": {
198 "title": "Maximum number of tweets (per profile)",
199 "minimum": 1,
200 "type": "integer",
201 "description": "Set the maximum number of tweets get from per request. Default:10",
202 "default": 10
203 },
204 "max_pagedown": {
205 "title": "Max PageDown Event ",
206 "minimum": 1,
207 "maximum": 500,
208 "type": "integer",
209 "description": "Set the maximum number of a keyboard 'PageDown' event sent to the page. Default:100.",
210 "default": 20
211 },
212 "concurrent_requests": {
213 "title": "Concurrent Requests ",
214 "minimum": 1,
215 "maximum": 10,
216 "type": "integer",
217 "description": "Configure maximum concurrent requests performed by Scrapy (default: 2) ",
218 "default": 2
219 },
220 "locale": {
221 "title": "Locale",
222 "type": "string",
223 "description": "Specify user locale, for example `en-GB`, `de-DE`, etc. Locale will affect `navigator.language` value, `Accept-Language` request header value as well as number and date formatting rules. Default:en-US.",
224 "default": "en-US"
225 },
226 "timezone_id": {
227 "title": "Timezone",
228 "type": "string",
229 "description": "Changes the timezone of the context. See [ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1) for a list of supported timezone IDs."
230 },
231 "timeout": {
232 "title": "timeout",
233 "type": "integer",
234 "description": "",
235 "default": 4000
236 }
237 }
238 },
239 "runsResponseSchema": {
240 "type": "object",
241 "properties": {
242 "data": {
243 "type": "object",
244 "properties": {
245 "id": {
246 "type": "string"
247 },
248 "actId": {
249 "type": "string"
250 },
251 "userId": {
252 "type": "string"
253 },
254 "startedAt": {
255 "type": "string",
256 "format": "date-time",
257 "example": "2025-01-08T00:00:00.000Z"
258 },
259 "finishedAt": {
260 "type": "string",
261 "format": "date-time",
262 "example": "2025-01-08T00:00:00.000Z"
263 },
264 "status": {
265 "type": "string",
266 "example": "READY"
267 },
268 "meta": {
269 "type": "object",
270 "properties": {
271 "origin": {
272 "type": "string",
273 "example": "API"
274 },
275 "userAgent": {
276 "type": "string"
277 }
278 }
279 },
280 "stats": {
281 "type": "object",
282 "properties": {
283 "inputBodyLen": {
284 "type": "integer",
285 "example": 2000
286 },
287 "rebootCount": {
288 "type": "integer",
289 "example": 0
290 },
291 "restartCount": {
292 "type": "integer",
293 "example": 0
294 },
295 "resurrectCount": {
296 "type": "integer",
297 "example": 0
298 },
299 "computeUnits": {
300 "type": "integer",
301 "example": 0
302 }
303 }
304 },
305 "options": {
306 "type": "object",
307 "properties": {
308 "build": {
309 "type": "string",
310 "example": "latest"
311 },
312 "timeoutSecs": {
313 "type": "integer",
314 "example": 300
315 },
316 "memoryMbytes": {
317 "type": "integer",
318 "example": 1024
319 },
320 "diskMbytes": {
321 "type": "integer",
322 "example": 2048
323 }
324 }
325 },
326 "buildId": {
327 "type": "string"
328 },
329 "defaultKeyValueStoreId": {
330 "type": "string"
331 },
332 "defaultDatasetId": {
333 "type": "string"
334 },
335 "defaultRequestQueueId": {
336 "type": "string"
337 },
338 "buildNumber": {
339 "type": "string",
340 "example": "1.0.0"
341 },
342 "containerUrl": {
343 "type": "string"
344 },
345 "usage": {
346 "type": "object",
347 "properties": {
348 "ACTOR_COMPUTE_UNITS": {
349 "type": "integer",
350 "example": 0
351 },
352 "DATASET_READS": {
353 "type": "integer",
354 "example": 0
355 },
356 "DATASET_WRITES": {
357 "type": "integer",
358 "example": 0
359 },
360 "KEY_VALUE_STORE_READS": {
361 "type": "integer",
362 "example": 0
363 },
364 "KEY_VALUE_STORE_WRITES": {
365 "type": "integer",
366 "example": 1
367 },
368 "KEY_VALUE_STORE_LISTS": {
369 "type": "integer",
370 "example": 0
371 },
372 "REQUEST_QUEUE_READS": {
373 "type": "integer",
374 "example": 0
375 },
376 "REQUEST_QUEUE_WRITES": {
377 "type": "integer",
378 "example": 0
379 },
380 "DATA_TRANSFER_INTERNAL_GBYTES": {
381 "type": "integer",
382 "example": 0
383 },
384 "DATA_TRANSFER_EXTERNAL_GBYTES": {
385 "type": "integer",
386 "example": 0
387 },
388 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
389 "type": "integer",
390 "example": 0
391 },
392 "PROXY_SERPS": {
393 "type": "integer",
394 "example": 0
395 }
396 }
397 },
398 "usageTotalUsd": {
399 "type": "number",
400 "example": 0.00005
401 },
402 "usageUsd": {
403 "type": "object",
404 "properties": {
405 "ACTOR_COMPUTE_UNITS": {
406 "type": "integer",
407 "example": 0
408 },
409 "DATASET_READS": {
410 "type": "integer",
411 "example": 0
412 },
413 "DATASET_WRITES": {
414 "type": "integer",
415 "example": 0
416 },
417 "KEY_VALUE_STORE_READS": {
418 "type": "integer",
419 "example": 0
420 },
421 "KEY_VALUE_STORE_WRITES": {
422 "type": "number",
423 "example": 0.00005
424 },
425 "KEY_VALUE_STORE_LISTS": {
426 "type": "integer",
427 "example": 0
428 },
429 "REQUEST_QUEUE_READS": {
430 "type": "integer",
431 "example": 0
432 },
433 "REQUEST_QUEUE_WRITES": {
434 "type": "integer",
435 "example": 0
436 },
437 "DATA_TRANSFER_INTERNAL_GBYTES": {
438 "type": "integer",
439 "example": 0
440 },
441 "DATA_TRANSFER_EXTERNAL_GBYTES": {
442 "type": "integer",
443 "example": 0
444 },
445 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
446 "type": "integer",
447 "example": 0
448 },
449 "PROXY_SERPS": {
450 "type": "integer",
451 "example": 0
452 }
453 }
454 }
455 }
456 }
457 }
458 }
459 }
460 }
461}
Best Twitter Scraper OpenAPI definition
OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Best Twitter Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients:
Actor Metrics
44 monthly users
-
0 No bookmarks yet
94% runs succeeded
Created in Aug 2023
Modified a year ago