Recommended Free Tools
For Bilibili video details, the documented route is not anonymous page scraping. Use Bilibili Open Platform after developer registration, qualification verification, the required ARC_BASE permission, and authorization from the video’s creator. The documented single-video endpoint is limited to an authorized user’s own or co-authored archive. Bilibili’s developer agreement also says that, without written consent, automated programs such as robots, spiders, crawlers, scripts, or similar software may not obtain Open Platform services, data, or related resources.
This guide shows the compliant workflow, the fields you can request, signing requirements, failure handling, and what to do when your project concerns arbitrary public pages rather than creator-authorized videos.
What “scraping a Bilibili video page” can legally and technically mean
There are two different jobs that are often called scraping:
- Authorized archive lookup: retrieving metadata for a video whose author or co-author has authorized your application through Bilibili Open Platform.
- Arbitrary public-page collection: sending an automated browser or HTTP client to collect information from videos chosen by someone else.
The official material located for this topic documents the first job, not a generally available permissionless API for the second. Do not treat an unofficial endpoint, HTML pattern, or access-control workaround as stable or authorized. If you need public-page collection, obtain written authorization and confirm the current Bilibili rules before building the collector.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →#1 Best Overall
- 【SIMPLE, POWERFUL, COMPACT】- Easily play videos, photos, and music files from USB drives, hard drives, and SD cards. Simple and intuitive to use with no complicated settings. Takes up very little space - it’s smaller than a deck of playing cards!
- 【FULL-HD VIDEO PLAYBACK】- Stunning HDMI video quality up to 1080p/60Hz with support for the latest video formats such as H.265/HEVC. Feeds digital surround sound to home theater receivers for a cinema-like movie experience. Includes analog AV output for connecting to an older TV or for sending audio to a stereo system.
- 【READS USB DRIVES AND SD CARDS】- Reads USB flash drives and hard drives up to 8TB and SD cards up to 1TB. Supports FAT32, exFAT, and NTFS file systems. Automatic playback, continuous looping and repeat, and the ability to resume video playback from the last stop point.
- 【TRIGGER SENSOR INPUT】- Ability to loop one video continuously and play a different video when triggered by an optional push-button or motion sensor. Build an interactive digital signage display, art gallery or museum on-demand video player, or a Halloween special effect in just a few steps. Push-button and motion sensors sold separately.
- 【MEDIA FORMAT SUPPORT】 - Video: MP4, MKV, AVI, TS/TP, MOV, VOB, and M2TS files using H.265/HEVC, H.264/AVC, VC1, or MPEG2/4 codecs, up to 1920x1080p@60fps, 10-bit color, and 100mbps. Photos: JPG, JPEG, BMP, GIF (non-animated), PNG. Music: MP3, WMA, OGG, FLAC, APE, AAC
What the official single-video API provides
Bilibili’s archive-detail documentation describes a request to GET https://member.bilibili.com/arcopen/fn/archive/view. It accepts a resource_id, which may be a BV-style identifier such as the example in the documentation. The endpoint requires ARC_BASE permission and user authorization; the eligible archive belongs to the authorized author or co-author.
Documented response data includes:
- Title and description
- Tags
- Cover image
- Category ID
- Video duration
- Creation and publication times
- Playback and sharing URLs
Those fields describe the authorized API response. They are not evidence that an anonymous client can retrieve the same data from any public page.
Requirements before writing code
- Confirm ownership or co-authorship. The documented scope is an archive belonging to the authorized creator.
- Register as a developer. Bilibili’s onboarding flow includes account registration, qualification or identity verification, access application, and integration.
- Apply for ARC_BASE. The archive-detail method will reject requests without the required permission.
- Obtain creator authorization. Keep the authorization record and use data only for the purpose and scope the creator approved.
- Store secrets on your server. Never ship an app secret or OAuth token in browser JavaScript, a mobile bundle, or a public repository.
- Recheck the live documentation. API scopes, header names, and agreement terms can change.
Request signing and authentication
The published signing standard specifies HMAC-SHA256, a client ID (access-key ID), an app secret, a unique nonce, a Unix timestamp, and signature version 2.0. Version 2.0 also requires an OAuth access token. Public headers include the access-key ID, content MD5, signing method, nonce, signature version, and timestamp. Requests whose timestamp differs from current time by more than ten minutes are rejected.
The exact canonical-string construction and header spelling must match Bilibili’s current signing documentation. The following example is deliberately structured so secrets and the final signature are supplied from the server environment rather than embedded in source code. Replace the canonicalization section with the current Open Platform algorithm before production use.
Rank #2
- High Resolution Screen -- Boifun portable DVD player adopts 15.6 Inch 1280*800 HD swivel large screen. Upgraded screen can relieve visual fatigue caused by long-term viewing. Thanks to 270° rotation and 180° flip feature, it provides extreme viewing experience and easy positioning.
- 5000mAh Long-Lasting Battery – Enjoy up to 6 hours of continuous playback with the built-in non-removable 5000mAh rechargeable battery, designed with integrated protection circuitry for safer, more reliable use. The package also includes a certified AC power adapter and a 70-inch car charger, so you can easily recharge at home or on the road without worrying about running out of power.
- Support Multi Formats -- Direct play in formats: CD, DVD, DVD ±R, CD -R(RW), SVCD -R(RW), DVD ±RW, VCD (Not support Blu-ray and Dolby discs). Supports multi-media files via USB and SD Card (up to 32G), such as VOB, AVI, MPEG, MP3, WMA, JPEG. Region-free makes it easy to play discs from all regions.
- Humanized Function -- To ensure that customers are not interrupted while using the disc, this portable DVD player has a built-in Anti-Shock function to protect the disc reading process. It can effectively reduce the video interruption caused by shaking.
- Kids' Companion -- Simple operating system and large volume make this portable DVD player perfect for kids and the elderly. It provides companionship to your children and parents when you have a busy time.
Minimal request template (Python)
import os
import time
import uuid
import requests
endpoint = "https://member.bilibili.com/arcopen/fn/archive/view"
resource_id = os.environ["BILIBILI_RESOURCE_ID"]
access_key = os.environ["BILIBILI_ACCESS_KEY"]
oauth_token = os.environ["BILIBILI_ACCESS_TOKEN"]
# Build the canonical string exactly as required by the current Bilibili
# signature-version-2.0 documentation. Do not invent or reuse this example.
timestamp = str(int(time.time()))
nonce = str(uuid.uuid4())
canonical = os.environ["BILIBILI_CANONICAL_STRING"]
signature = os.environ["BILIBILI_SIGNATURE"]
headers = {
"AccessKeyId": access_key,
"ContentMD5": "",
"SignatureMethod": "HMAC-SHA256",
"SignatureNonce": nonce,
"SignatureVersion": "2.0",
"Timestamp": timestamp,
"Authorization": f"Bearer {oauth_token}",
"Signature": signature,
}
response = requests.get(
endpoint,
params={"resource_id": resource_id},
headers=headers,
timeout=30,
)
response.raise_for_status()
print(response.json())
This template is runnable once your integration supplies the canonical string and signature generated by the current specification. Keeping that part explicit is safer than guessing: a subtly different parameter order, URL encoding rule, or header name produces an authentication failure.
Equivalent unsigned URL for inspecting the request shape
curl -G "https://member.bilibili.com/arcopen/fn/archive/view"
--data-urlencode "resource_id=YOUR_BV_OR_RESOURCE_ID"
An unsigned request is useful only for checking connectivity and parameter formatting; an authorized production call must include the required headers and signature.
Reading and normalizing the response
Keep the original response alongside your normalized record so you can audit what was returned under the creator’s approved scope. A practical internal schema is:
resource_id: the identifier you requestedtitle,description, andtagscover_urland playback/share URLscategory_idanddurationcreated_atandpublished_atretrieved_at, authorization reference, and application purpose
Do not silently expand collection to comments, user profiles, or unrelated videos. The developer agreement limits user-data use to the scope explicitly approved by the associated creator.
Rank #3
- 【Mini Portable Media player】-- Fits into the palm of your hand, It is a perfect travel partner for those short on space and sockets. Also compact and easy multifunction HD media player for office work and home entertainment;Aluminum alloy material, not easy to damage during carrying
- 【1080P MP4 Player】-- Full HD 1080p@60Hz supports most video decoding formats: RM, RMVB, AVI, DIVX, MKV, MOV, HD MOV, MP4, M4V, PMP, AVC, FLV, VOB, MPG, DAT, MPEG, TS, TP, M2TS, WMV, (H.264,H.263,WMV9/VC-1,MPEG1/2/4),Not support VPR files. Note: Please use our 4K player to play some videos taken with smart phones, ASIN: B07WPY8VKL
- 【HDMI or AV Output】-- Supports 1080p HDMI output, allowing you to transmit crisp, clear video and audio in a pure digital format to an HDTV; it also supports composite AV output for use with analog TVs. An analog AV cable is included. While using HDMI video output, you can also connect external speakers via the AV output. However, video cannot be output via both AV and HDMI at the same time.
- 【USB 2.0/3.0 Compability】-- Drive external USB 2.0/3.0 storage devices such as USB flash(up to 512G)/SD card(up to 128G) and hard drive(partition should be MBR, up to 8TB), you can also delete or copy files in the USB drive(FAT or FA32) directly, Also plays subtitle files as well as loop videos
- 【Support Multiple Formats of Files and Playback Modes&Multi-functional Remote Control】-- Supports most video, audio, and image formats on the market, supports random playback of video and image modes, and supports loop playback. Supports repeat, zoom, fast forward, fast rewind, rotation, breakpoint playback method, start from scratch playback method and time selection playback method. It is also equipped with a convenient remote control for easy navigation of menu screens (ASIN: B0C9PZPFL8)
When you need many authorized videos
Queue requests by creator and authorization scope, not by scraping pages indiscriminately. Store the permission and requested purpose with each job, rate-limit conservatively, retry only transient failures, and stop on authorization or policy errors. Use a stable idempotency key such as creator_id + resource_id + purpose + date so a retry does not create duplicate downstream records.
Suggested job states
- queued: authorization and resource ID have been validated.
- sent: a signed request was transmitted.
- succeeded: the response was parsed and stored.
- retryable: timeout or temporary server failure; retry with backoff.
- blocked: permission, authorization, policy, or signature failure; do not retry blindly.
Common errors and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| Permission denied or ARC_BASE error | The application lacks the documented permission. | Apply for ARC_BASE and wait for approval; confirm the credential belongs to the intended app. |
| Authorization or ownership failure | The resource is not owned or co-authored by the authorized user, or consent is missing. | Use a creator-authorized archive or stop the request. Do not substitute an unofficial endpoint. |
| Signature invalid | Wrong canonical string, encoding, header spelling, secret, or signature version. | Regenerate the signature from the current standard and log the canonical input safely (never the secret). |
| Timestamp rejected | Clock drift exceeds ten minutes. | Synchronize the server clock and generate a fresh timestamp and nonce for every request. |
| Token expired | The OAuth access token is no longer valid. | Use the documented refresh or reauthorization flow; do not hard-code tokens. |
| Empty or unexpected fields | The archive has incomplete metadata or the response schema changed. | Handle missing values, preserve the raw response, and check the current API documentation. |
| Repeated timeouts | Network instability, overloaded service, or an overly aggressive batch. | Use bounded retries with exponential backoff, smaller batches, and a clear failure state. |
Why browser scraping is a poor substitute
A headless browser can render a public page, but rendering does not grant permission to collect or reuse its data. It also introduces consent banners, login walls, bot checks, dynamic requests, changing selectors, and higher operational cost. Most importantly, the developer agreement expressly names automated software among the means that may not be used without Bilibili’s written consent. A browser workaround is therefore not a compliant replacement for the authorized API.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
If your authorized workflow needs a visual snapshot of a page rather than structured Bilibili metadata, ScreenshotNeo provides a website screenshot API. It is not a way around Bilibili authorization; use it only for pages you are permitted to capture.
One GET request returns PNG, JPEG, WebP, or PDF. The API accepts the cookie or consent banner before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and billing result.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' }); const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
See the ScreenshotNeo API documentation for capture options such as full-page lazy-image loading, CSS selectors, custom JavaScript, waits, headers, cookies, device presets, PDF settings, signed links, webhooks, bulk capture, and caching.
ScreenshotNeo includes an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 shots. Sign up for the free plan.
Rank #4
- Large Capacity: This mp3 player is designed specifically for music enthusiasts. It has 64GB storage space, which can easily hold thousands of songs, and supports TF card expansion up to 128GB, so you don't need to change songs frequently or worry about insufficient storage space. (TF card is sold separately)
- The latest version of bluetooth : mp3 player Equipped with the latest version of Bluetooth 5.3 MP3 player, which has better compatibility, signal stability, lower power consumption, longer connection distance, and stronger anti-interference ability. (Note: Bluetooth function only supports Bluetooth headset and Bluetooth speaker connection)
- Easy to operate buttons: This reproductor mp3 has several intuitive buttons. Short press “One-Key Sound” can open the music mode, support breakpoint replay function, continue to play from the last exit position; independent volume key can be up and down toggle the precise adjustment of the volume; Short press “Lock Key” can lock the screen, simple and convenient.
- High quality speakers:MP3 player Equipped with high-quality speakers that deliver clear, undistorted sound. No need to wear headphones, you can enjoy music, listen to books or play recording files directly through the speakers. Whether you're relaxing at home, traveling outdoors or sharing music with friends, the speakers will meet your listening needs.
- Upgraded design: MP3 player Length 4.25 inches (10.85 cm), width 1.95 inches (4.96 cm), thickness 0.37 inches (0.95 cm), weight 80.7 grams, equipped with a 2.4-inch color screen to enhance the visual experience and ease of operation; metal alloy shell both durability and comfortable feel, fashionable appearance to adapt to the sports, commuting, travel and other scenarios, carry no burden.
Decision checklist
- Is the video owned or co-authored by the authorized user?
- Does the app have ARC_BASE permission and a valid OAuth authorization?
- Are timestamp, nonce, HMAC-SHA256 signature, and public headers generated from the current standard?
- Is every field used only for the creator-approved purpose?
- Are retries bounded and secrets kept server-side?
- If the target is an arbitrary public page, have you obtained written authorization instead of deploying a crawler?
Frequently Asked Questions
Does Bilibili provide an official API for any public BV video?
The documented material here establishes only the authorized single-video archive method for an author or co-author. It does not establish a generally available unauthenticated API for arbitrary public pages.
Can I use the endpoint for a video uploaded by another creator?
Not on the documented scope unless that creator authorizes your application and the account is eligible as the archive’s author or co-author.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →How accurate must my server clock be?
The signing standard says requests with timestamps more than ten minutes from current time are rejected. Synchronize the clock and create a fresh timestamp for each request.
Is ScreenshotNeo a Bilibili metadata API?
No. ScreenshotNeo captures permitted web pages visually. Bilibili metadata should come from the authorized Open Platform workflow.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




