Niconico Video Details Scraper avatar

Niconico Video Details Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Niconico Video Details Scraper

Niconico Video Details Scraper

Extract Niconico video metadata, descriptions, tags, creator details, engagement counts, thumbnails, genre, and series from public watch URLs.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

ScrapingMonkey

ScrapingMonkey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Niconico Video Details Scraper — Extract Niconico video metadata, descriptions, tags, creator details, engagement counts, thumbnails, genre, and series from public watch URLs. Add supported inputs and start a run to get structured public data without providing a Niconico account.

Extract a classic Niconico video's public description, tags, owner, duration and visible counts. Keep the metadata as a source-linked reference record.

At a glanceDetails
📥 InputEnter video IDs such as sm9 or public HTTPS Niconico watch URLs. Supported ID prefixes are sm, so, and nm. Video files and comments are not downloaded.
📤 OutputOne video per success row, with source input retained
📄 PaginationOne lookup per unique input; nested values stay in that result row.
🔐 Login requiredNo
⚡ ProcessingUp to 5 HTTP requests concurrently with automatic retries
💾 DeliveryOne Apify dataset view, useful flat columns and complete nested JSON

What the niconico video details scraper collects 📊

Extract Niconico video metadata, descriptions, tags, creator details, engagement counts, thumbnails, genre, and series from public watch URLs.

Data can include:

  • Source identity and public links
  • Available id, url, title, content type, registered at, duration seconds, view count, comment count
  • Original input retained with every result
  • One consistent success or failed record format

How to collect videos from Niconico 🚀

  1. Enter one or more supported inputs in inputList.
  2. Review the supported input format.
  3. Start the Actor.
  4. Open the Videos dataset view and review the individual records.
  5. Export the dataset or retrieve it from your application.
{
"inputList": [
"https://www.nicovideo.jp/watch/sm9"
]
}

One lookup per unique input; nested values stay in that result row.

Niconico videos data and complete output 📦

FieldTypeMeaning
inputstringOriginal submitted input.
statusstringResult status: success or failed.
typestring or nullEntity type of this row.
idstring or nullStable public entity ID, exported as text.
urlstring or nullPublic page URL for this entity.
titlestring or nullVideo or mylist title returned by the source.
content_typestring or nullSource video content type.
registered_atstring or nullVideo publication timestamp as returned by Niconico.
duration_secondsinteger or nullVideo duration in seconds.
view_countinteger or nullPublic video view count.
comment_countinteger or nullPublic video comment count.
mylist_countinteger or nullPublic count of mylist additions for the video.
like_countinteger or nullPublic video like count.
short_descriptionstring or nullShort source preview of the description.
latest_comment_summarystring or nullSource-generated preview of recent comments; not a full comment export.
thumbnailsobject or nullAvailable thumbnail variants. Missing variants remain null.
thumbnails.urlstring or nullPublic source URL.
thumbnails.middle_urlstring or nullAvailable middle URL.
thumbnails.large_urlstring or nullAvailable large URL.
thumbnails.listing_urlstring or nullAvailable listing URL.
thumbnails.hd_urlstring or nullAvailable hd URL.
thumbnails.player_urlstring or nullAvailable player URL.
thumbnails.ogp_urlstring or nullAvailable ogp URL.
thumbnails.short_urlstring or nullAvailable short URL.
ownerobject or nullPublic video creator or playlist curator.
owner.idstring or nullSource identifier of this entity, retained as a string.
owner.namestring or nullPublic name supplied by the source.
owner.typestring or nullType when exposed by the public response.
owner.urlstring or nullPublic source URL.
owner.icon_urlstring or nullAvailable icon URL.
owner.visibilitystring or nullVisibility when exposed by the public response.
is_channel_videoboolean or nullWhether the video belongs to a channel.
is_payment_requiredboolean or nullSource payment-required flag when present; null does not mean free.
requires_sensitive_maskingboolean or nullSource flag requesting sensitive-content masking.
descriptionstring or nullSource description. May contain markup.
is_privateboolean or nullSource private-video flag.
is_deletedboolean or nullSource deleted-video flag.
is_authentication_requiredboolean or nullWhether the source marks video authentication as required.
is_adultboolean or nullSource adult-content rating flag.
tagsarray or nullPublic video tags with lock and category flags.
tags[].namestring or nullPublic name supplied by the source.
tags[].is_lockedboolean or nullIs locked when exposed by the public response.
tags[].is_categoryboolean or nullIs category when exposed by the public response.
genreobject or nullPublic genre key and display label.
genre.keystring or nullSource key identifying this entity.
genre.labelstring or nullLabel when exposed by the public response.
seriesobject or nullSeries association when the source supplies one.
series.idstring or nullSource identifier of this entity, retained as a string.
series.titlestring or nullPublic title supplied by the source.
series.urlstring or nullPublic source URL.
series.orderinteger or nullOrder when exposed by the public response.
is_embed_player_allowedboolean or nullWhether the source marks embed playback as allowed.
has_lyricsboolean or nullWhether the source marks lyrics as available.

Nested arrays and media references stay in their parent record. Downloading source media files is not part of this Actor.

Every top-level output field appears in these complete examples. The success example is normalized from a public response. Long strings and arrays are shortened here; the Actor keeps the complete available values. Values are a snapshot and can change. Nested arrays remain inside their parent result.

Representative success result with every output field (long text and arrays shortened for readability):

{
"input": "https://www.nicovideo.jp/watch/sm9",
"status": "success",
"type": "video",
"id": "sm9",
"url": "https://www.nicovideo.jp/watch/sm9",
"title": "新・豪血寺一族 -煩悩解放 - レッツゴー!陰陽師",
"content_type": "long",
"registered_at": "2007-03-06T00:33:00+09:00",
"duration_seconds": 320,
"view_count": 23070344,
"comment_count": 5691608,
"mylist_count": 183199,
"like_count": 45401,
"short_description": null,
"latest_comment_summary": null,
"thumbnails": {
"url": "https://nicovideo.cdn.nimg.jp/thumbnails/9/9",
"middle_url": null,
"large_url": null,
"listing_url": null,
"hd_url": null,
"player_url": "https://img.cdn.nimg.jp/s/nicovideo/thumbnails/9/9.original/a960x540l?key=00208e6cfc9ead0306cfa0291c2734a15cdea8f58df302b5ac8ed05428ef1190",
"ogp_url": "https://img.cdn.nimg.jp/s/nicovideo/thumbnails/9/9.original/r1280x720l?key=8d46976aca8120e4969537a0c10b47590a67740a5994c11969d4ae7fa5c2bf74",
"short_url": null
},
"owner": {
"id": "4",
"name": "中の",
"type": "user",
"url": "https://www.nicovideo.jp/user/4",
"icon_url": "https://secure-dcdn.cdn.nimg.jp/nicoaccount/usericon/defaults/blank.jpg",
"visibility": null
},
"is_channel_video": false,
"is_payment_required": null,
"requires_sensitive_masking": null,
"description": "レッツゴー!陰陽師(フルコーラスバージョン)",
"is_private": false,
"is_deleted": false,
"is_authentication_required": false,
"is_adult": false,
"tags": [
{
"name": "陰陽師",
"is_locked": true,
"is_category": false
},
{
"name": "レッツゴー!陰陽師",
"is_locked": true,
"is_category": false
},
{
"name": "公式",
"is_locked": true,
"is_category": false
}
],
"genre": {
"key": "none",
"label": "未設定"
},
"series": null,
"is_embed_player_allowed": true,
"has_lyrics": false
}

Complete failed result:

{
"input": "invalid input",
"status": "failed",
"type": null,
"id": null,
"url": null,
"title": null,
"content_type": null,
"registered_at": null,
"duration_seconds": null,
"view_count": null,
"comment_count": null,
"mylist_count": null,
"like_count": null,
"short_description": null,
"latest_comment_summary": null,
"thumbnails": null,
"owner": null,
"is_channel_video": null,
"is_payment_required": null,
"requires_sensitive_masking": null,
"description": null,
"is_private": null,
"is_deleted": null,
"is_authentication_required": null,
"is_adult": null,
"tags": null,
"genre": null,
"series": null,
"is_embed_player_allowed": null,
"has_lyrics": null
}

A failed row preserves input, sets status to failed, and sets every other top-level field to null. The run log records the reason. Optional successful fields can be null or empty when Niconico does not supply them. Object fields are exposed through useful columns in the single Videos view; arrays are not expanded into extra result rows.

Input requirements and pagination settings ⚙️

ParameterTypeRequiredDefaultRules
inputListarray of stringsYesNoneEnter video IDs such as sm9 or public HTTPS Niconico watch URLs. Supported ID prefixes are sm, so, and nm. Video files and comments are not downloaded. At least 1 item.

Enter video IDs such as sm9 or public HTTPS Niconico watch URLs. Supported ID prefixes are sm, so, and nm. Video files and comments are not downloaded.

Examples of supported inputs: https://www.nicovideo.jp/watch/sm9.

Duplicate normalized inputs are processed once. Within the collection for one source input, repeated records are removed while distinct interactions or objects remain separate. The same object returned for different source inputs retains its source relationship.

There is no result-page setting. Each unique target is looked up individually, and nested fields remain within that result row.

Niconico videos use cases 🎯

Catalog metadata for a classic Niconico video

Extract a classic Niconico video's public description, tags, owner, duration and visible counts. Keep the metadata as a source-linked reference record.

Review a Niconico creator upload

Collect a selected Niconico video's public details, including tags, series context and reaction counts, to prepare a metadata review of the upload.

Inspect a Niconico animation reference

Export public metadata for a Niconico animation reference. Keep description, tags, thumbnails and playback restriction flags without downloading video.

Pricing and saved-result behavior 💰

Check the Actor’s Pricing tab for the active pricing model and current rate. Store settings can change, so this README does not claim a fixed price or runtime.

Under dataset-item pricing:

  • Each successful result represents one video for its source input.
  • An invalid or unavailable input, an input with no accessible results, or an exhausted request can produce a failed row.
  • Retry attempts and supporting requests do not create extra dataset rows by themselves.
  • Nested media, profile information and other arrays remain part of their parent row.
  • A normal empty continuation after earlier successes creates no additional row.
  • Saved failed rows are not assumed to be free; check their treatment in the active pricing configuration.

More inputs can produce more saved rows. Start with a small run and check actual usage before increasing the workload.

Niconico videos API 🔌

Replace $ACTOR_ID with the identifier shown in this Actor’s API tab and $APIFY_TOKEN with your Apify token.

curl -X POST "https://api.apify.com/v2/acts/$ACTOR_ID/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputList":["https://www.nicovideo.jp/watch/sm9"]}'

Download the dataset in JSON, CSV, Excel or other formats available in the Console, or retrieve it through the Apify API. Use schedules, webhooks and Apify integrations to connect results to Google Sheets, Make, Zapier, cloud storage or your own application. These connections are configured separately by the user.

Reliability, retries, and public-data limits ⚠️

Collection uses pure HTTP with up to five concurrent requests. Invalid syntax and confirmed missing, removed or unavailable targets stop without unnecessary retries. Temporary network or proxy failures, timeouts, blocking responses, malformed data, throttling and server errors allow up to five total attempts per request.

Successful earlier pages remain saved if a later request fails. A normal end after saved results is not retried. An input with no accessible results can receive a failed row; that alone does not prove that its underlying source does not exist. An exhausted later request can add a failed row while preserving previous output.

Exports public metadata; does not download video or audio files. Deleted or private videos are skipped as failed; restricted playback is not bypassed. Some optional fields are unavailable on particular videos and remain null.

Niconico controls public availability, ranking and optional fields. Result counts can be affected by duplicates, removed content and changes during a run. A page budget is a collection limit, not a promise of exhaustive coverage.

An invalid string within a valid input list does not stop other inputs. Invalid overall configuration, such as a non-string list item or a wrong page-count type, exits before source requests. Startup failures, unavailable dataset storage or an unrecoverable result-save error can still stop the whole run. A failed save is not retried as a new scraping request.

Frequently asked questions ❓

What does one Niconico Video Details Scraper result represent?

Each successful row represents one video. The source input is retained, and nested fields stay in the same row.

Which source limits apply?

Exports public metadata; does not download video or audio files. Deleted or private videos are skipped as failed; restricted playback is not bypassed. Some optional fields are unavailable on particular videos and remain null.

Does it download media files?

No. Where available, the Actor returns media URLs and metadata within the result row.

Does it require a Niconico account or personal cookies?

No. You do not need to provide a Niconico account, password or personal session cookie. Collection uses HTTP without opening a browser.

What happens to invalid or unavailable inputs?

Invalid individual inputs are recorded as failed without a source request. Confirmed missing or unavailable targets stop without unnecessary retries. Temporary failures allow up to five total attempts per request; other inputs and earlier saved results remain available.

Can I export results or run the same input again?

Yes. Export the default dataset or retrieve it through the Apify API. You can create an Apify schedule and connect completed runs to your own workflow.

For a reproducible issue, use the Actor’s Issues tab and provide the run ID, approximate time, a safe public input, expected behavior and actual result. Include the mode or page budget when relevant. Never share access tokens, personal cookies or proxy credentials.

Use public data responsibly and follow applicable privacy, copyright, contractual and platform requirements before storing, analyzing or redistributing collected information.