tapline
Use tapline to collect live data from YouTube, Airbnb, GMGN, GeckoTerminal, GoPlus Security, Pons Family, Twitter (X), and Pinterest in Python.
What you can do
| Service | Use it to | Full guide |
|---|---|---|
| YouTube | Get transcripts, search videos, read video and channel details, list playlists, collect comments, inspect formats, and read replay heatmaps | YouTube guide |
| Airbnb | Find locations and listings, check prices and availability, and read listing details and reviews | Airbnb guide |
| GMGN | Find tokens, check security and market data, inspect holders and traders, and analyze wallets | GMGN guide |
| GeckoTerminal | Find pools, read candlesticks and swaps, inspect holders and traders, and follow market trends | GeckoTerminal guide |
| GoPlus Security | Check EVM and Tron tokens and Solana mints for honeypots, taxes, owner and mint powers, holders, and liquidity | GoPlus guide |
| Pons Family | Browse and search launches, read token markets, trades and holders, follow wallets and creator fees, and read the memestock forum | Pons Family guide |
| Twitter (X) | Read public X profiles by handle or id, an account's newest posts, single posts with media and quotes, and X Communities with their top posts | Twitter guide |
| Search pins, read one pin with every image size, its video and idea-pin pages, list a user's boards, and read the pins on a board | Pinterest guide |
One API key and credit balance work across all eight services.
Get started
Create a Tapline account and create an API key on the API keys page.
Install the package and save your key in TAPLINE_API_KEY:
pip install tapline
export TAPLINE_API_KEY="your-api-key"
Pass a key from your environment or secret manager as api_key= when you create either the blocking or async client:
import os
from tapline import SyncTaplineClient, TaplineClient
api_key = os.environ["TAPLINE_API_KEY"]
sync_tapline = SyncTaplineClient(api_key=api_key)
async_tapline = TaplineClient(api_key=api_key)
If you omit api_key, both clients read TAPLINE_API_KEY. Python 3.10 or newer is required.
Get a transcript
import os
from tapline import SyncTaplineClient
with SyncTaplineClient(api_key=os.environ["TAPLINE_API_KEY"]) as tapline:
subtitles = tapline.youtube.subtitles(
"https://www.youtube.com/watch?v=jNQXAC9IVRw",
language="en",
subtitle_format="txt",
)
print(subtitles.transcript)
See the YouTube guide for search, metadata, channels, playlists, comments, formats, and replay heatmaps.
Search Airbnb listings
from tapline import SyncTaplineClient
with SyncTaplineClient() as tapline:
places = tapline.airbnb.search_locations(query="London")
place_id = places.suggestions[0].place_id
if place_id is None:
raise RuntimeError("Airbnb returned a location without a place_id")
results = tapline.airbnb.search(
place_id=place_id,
adults=2,
)
for listing in results.listings:
print(listing.room_id, listing.name)
Listing IDs can stop resolving when a host removes a property. See the Airbnb guide for prices, availability, details, reviews, and search filters.
Search GMGN token data
from tapline import SyncTaplineClient
with SyncTaplineClient() as tapline:
results = tapline.gmgn.search("sol", q="bonk")
for token in results.data.coins[:5]:
print(token.symbol, token.address)
See the GMGN guide for discovery, rankings, security, candles, holders, traders, liquidity, and wallet analytics.
Discover GeckoTerminal pools
from tapline import SyncTaplineClient
with SyncTaplineClient() as tapline:
pools = tapline.geckoterminal.network_latest_pools("solana")
for pool in pools.data[:5]:
print(pool.attributes.address, pool.attributes.name)
See the GeckoTerminal guide for pool, token, trend, and developer history data.
Check token security with GoPlus
from tapline import SyncTaplineClient
address = "0x6982508145454ce325ddbe47a25d4ec3d2311933"
with SyncTaplineClient() as tapline:
security = tapline.goplus.get_evm_token_security("1", address)
token = (security.result or {}).get(address)
if token is None:
print("GoPlus has no token at this address on this chain")
else:
print(token.token_symbol, token.is_honeypot, token.buy_tax, token.sell_tax)
The first argument, chain_id, takes any of the 43 EVM chains GoPlus supports, such as "56" for BNB Chain or "42161" for Arbitrum. result is empty when GoPlus has no token at that address on that chain. Each call costs 3 credits, even one that comes back empty. "" means GoPlus does not know a value, so do not read it as zero. See the GoPlus guide for Solana mints, Tron tokens, and how to read the response.
Browse Pons Family launches
from tapline import SyncTaplineClient
with SyncTaplineClient() as tapline:
board = tapline.ponsfamily.list_launches(sort="volume", page_size=5)
active = board.active.items if board.active else None
for launch in active or []:
print(launch.symbol, launch.token, launch.marketCapUsd)
See the Pons Family guide for token markets, charts, holders, wallets, creator fees, and the memestock forum.
Go beyond the free tier
Your free account starts with 500 credits and can use every live endpoint. When you need more credits or higher rate limits, choose a paid plan under Billing. Your API key and code stay the same.
Async client
Every service method has the same name and arguments on TaplineClient; only the call becomes awaitable.
import asyncio
from tapline import TaplineClient
async def main() -> None:
async with TaplineClient() as tapline:
metadata = await tapline.youtube.metadata("dQw4w9WgXcQ")
print(metadata.title)
asyncio.run(main())
Handle errors
Failed requests raise an APIStatusError. Use its status, error code, and request ID to decide what to do or to contact support.
from tapline import APIStatusError, SyncTaplineClient
try:
with SyncTaplineClient() as tapline:
tapline.youtube.metadata("not-a-video")
except APIStatusError as error:
print(error.status_code, error.code, error.request_id)
Authentication, credit, rate-limit, timeout, and connection failures also have their own exception classes. The client retries temporary network and server failures.
Full API reference
Use the Tapline API reference to check inputs, response fields, and the credit cost of each call.
License
MIT
Metadata
Release files for tapline 0.2.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tapline-0.2.7.tar.gz | 259.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tapline-0.2.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 430.7 kB
Release files / tapline-0.2.7.tar.gz
| Download URL | tapline-0.2.7.tar.gz |
|---|---|
| Size | 259.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
48ed901061f5083e528f4ccc1d9da62890f92150fa5ad716c10a855256475bb3
|
|
BLAKE2b-256 checksum How to use checksums |
e14292ecc3bf0e197541b5d229faa1e9626bcc3f46437fac1c87d382fab1299a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logRelease files / tapline-0.2.7-py3-none-any.whl
| Download URL | tapline-0.2.7-py3-none-any.whl |
|---|---|
| Size | 171.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d803ec5852e35abc48361680da8f4e71e39d8ec5b652517f5bdd5b19bd574936
|
|
BLAKE2b-256 checksum How to use checksums |
5c0ab47f51a02788bd609c5bbdcdbca623f6dad81cda1f83d579aa1648eecb70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logSecurity for tapline 0.2.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for tapline-0.2.7.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.