Comparison · Benchmark

Social data API benchmark: SignalShelf vs ScrapeCreators

We ran the same requests through our real app and against ScrapeCreators’ API, timed each one, and compared response shapes. Here is the method, every number, and the raw data so you can check it.

Results

Run finished 2026-11-03 13:17 UTC. Medians use only endpoints where both APIs returned HTTP 200.

MetricResult
Paths tested through the real app170 (145 ScrapeCreators-compatible + 25 Outscraper-compatible)
Endpoints both APIs answered (HTTP 200)119
Median response, SignalShelf1.44 s
Median response, ScrapeCreators3.96 s
SignalShelf faster on102 of 119 endpoints
Response shape: full top-level key match120 of 120 endpoints with a reference sample
Repeat call served from cache152 of 152 passing paths

Method

Date: 3 November 2026. ScrapeCreators reference calls were made first (between about 10:48 and 12:26 UTC); our run finished at 13:17 UTC. Calls were sequential, not interleaved.

Client: one machine in India for both sides. Each endpoint was called once per API (n = 1).

SignalShelf side: our production app code booted on that machine with a fresh, empty database (no warm store, no cache), so every first call did real work: auth, validation, live fetch from the source, billing. Outbound traffic went through a datacenter proxy pool or direct HTTP.

ScrapeCreators side: their public API (api.scrapecreators.com) with our own key.

Inputs: one fixed public input per endpoint, for example handle=stoolpresidente for /v1/tiktok/profile. Where ScrapeCreators returned data, our call reused the exact same parameters.

Time: client wall-clock from sending the request to receiving the full JSON body.

“Faster” means our time was lower than theirs on that endpoint. Medians and the faster count only include endpoints where both APIs returned HTTP 200.

Shape match: the share of ScrapeCreators’ top-level response keys that also appear in ours (wrapper keys like success and credits_remaining excluded).

Each passing path was called a second time to confirm caching. Those repeat calls are excluded from all timings.

Caveats

Point in time: one run, one day. Latency on both sides varies by hour, input and source.

One client location (India) and one call per endpoint. This is not a load test.

Our app ran on the test machine itself, so our times don’t include the network hop to a hosted API that ScrapeCreators’ times do. A hosted deployment adds that hop.

We don’t know whether ScrapeCreators served any response from its own cache.

Shape match checks top-level keys, not every nested field or value.

Only ScrapeCreators was speed-tested. We have not timed Outscraper, Apify, Bright Data, EnsembleData, Data365, SerpApi or any other provider, and make no speed claims about them.

Check it yourself

Raw data: every row below, as JSON, at /compare/benchmark.json (internal cost fields removed; it contains no keys).

Script: scripts/smoke-guest-e2e.mjs in the SignalShelf codebase boots the real app, replays every path, and writes docs/guest/E2E_RESULTS.json, which this page is built from.

Without our code: time any endpoint on both APIs with your own keys, as below. Use 1,000 free credits + 5,000 to earn on our side.

EXAMPLE
P="/v1/tiktok/profile?handle=stoolpresidente"
curl -s -o /dev/null -w "SignalShelf    %{time_total}s\n" "$SIGNALSHELF_BASE_URL$P" -H "x-api-key: $SIGNALSHELF_API_KEY"
curl -s -o /dev/null -w "ScrapeCreators %{time_total}s\n" "https://api.scrapecreators.com$P" -H "x-api-key: $SCRAPECREATORS_API_KEY"
Raw data (JSON) vs ScrapeCreators All comparisons

Every endpoint

One row per path. "—" means that side had no successful reference call to time. Error codes on our side are mostly test-harness inputs (for example a missing required parameter), kept here unedited.

PathSignalShelfScrapeCreatorsFasterShape match
/amazon-productsHTTP 400 INVALID_PARAMETER———
/amazon-reviewsHTTP 400 INVALID_PARAMETER———
/amazon/productsHTTP 400 INVALID_PARAMETER———
/amazon/products-v2HTTP 400 INVALID_PARAMETER———
/amazon/reviewsHTTP 400 INVALID_PARAMETER———
/appstore-reviewsHTTP 400 INVALID_PARAMETER———
/appstore/reviewsHTTP 400 INVALID_PARAMETER———
/google-maps-photos3075 ms———
/google-maps-reviews10218 ms———
/google-maps-search1503 ms———
/google-play-reviews286 ms———
/google-play/reviews4 ms———
/google-search2200 ms———
/google-search-news900 ms———
/google-search-v32269 ms———
/maps/photos-v32779 ms———
/maps/reviews-v29 ms———
/maps/reviews-v38885 ms———
/maps/search4 ms———
/maps/search-v24 ms———
/maps/search-v34 ms———
/tripadvisor-reviewsHTTP 400 INVALID_PARAMETER———
/trustpilotHTTP 400 INVALID_PARAMETER———
/trustpilot-reviewsHTTP 400 INVALID_PARAMETER———
/trustpilot/reviewsHTTP 400 INVALID_PARAMETER———
/v1/amazon/product2006 ms———
/v1/amazon/reviews2141 ms———
/v1/amazon/shop1821 ms8998 msSignalShelf100%
/v1/app-store/app174 ms———
/v1/app-store/reviews37 ms———
/v1/cosmos/cluster392 ms4368 msSignalShelf100%
/v1/cosmos/cluster/posts777 ms3610 msSignalShelf100%
/v1/cosmos/post810 ms3466 msSignalShelf100%
/v1/cosmos/profile2152 ms4859 msSignalShelf100%
/v1/cosmos/search1568 ms3573 msSignalShelf100%
/v1/cosmos/user/clusters730 ms5868 msSignalShelf100%
/v1/cosmos/user/posts2251 ms5301 msSignalShelf100%
/v1/facebook/adLibrary/ad2552 ms3076 msSignalShelf100%
/v1/facebook/adLibrary/ad/transcript2527 ms4265 msSignalShelf100%
/v1/facebook/adLibrary/company/ads6261 ms5415 msScrapeCreators100%
/v1/facebook/adLibrary/search/ads6180 ms2296 msScrapeCreators100%
/v1/facebook/adLibrary/search/companies4986 ms844 msScrapeCreators100%
/v1/facebook/event/details935 ms2199 msSignalShelf100%
/v1/facebook/events888 ms1778 msSignalShelf100%
/v1/facebook/events/search1142 ms3650 msSignalShelf100%
/v1/facebook/group677 ms4711 msSignalShelf100%
/v1/facebook/group/postsHTTP 503 SOURCE_ACCESS_RESTRICTED4472 ms—0%
/v1/facebook/marketplace/item2014 ms2741 msSignalShelf100%
/v1/facebook/marketplace/location/search480 ms1226 msSignalShelf100%
/v1/facebook/marketplace/search727 ms3263 msSignalShelf100%
/v1/facebook/post1024 ms3957 msSignalShelf100%
/v1/facebook/post/comment/replies509 ms3964 msSignalShelf100%
/v1/facebook/post/comments2131 ms4824 msSignalShelf100%
/v1/facebook/post/transcript1067 ms5959 msSignalShelf100%
/v1/facebook/profile1208 ms2751 msSignalShelf100%
/v1/facebook/profile/events2061 ms2157 msSignalShelf100%
/v1/facebook/profile/photos1906 ms2322 msSignalShelf100%
/v1/facebook/profile/posts1089 ms8823 msSignalShelf100%
/v1/facebook/profile/reels4895 ms4335 msScrapeCreators100%
/v1/facebook/search/videos1566 ms4032 msSignalShelf100%
/v1/find-social-profilesHTTP 400 INVALID_PARAMETERHTTP 404——
/v1/google-maps/photos1071 ms———
/v1/google-maps/place3417 ms———
/v1/google-maps/reviews2558 ms———
/v1/google-maps/search1199 ms———
/v1/google-play/app339 ms———
/v1/google-play/reviews585 ms———
/v1/google/ad3658 ms4199 msSignalShelf100%
/v1/google/adLibrary/advertisers/search18816 ms900 msScrapeCreators100%
/v1/google/company/ads18319 ms1120 msScrapeCreators100%
/v1/google/news1581 ms———
/v1/google/search1672 ms2102 msSignalShelf100%
/v1/instagram/audio/reels646 ms2535 msSignalShelf100%
/v1/instagram/post752 ms5931 msSignalShelf100%
/v1/instagram/profile3246 ms11647 msSignalShelf100%
/v1/instagram/search2110 ms13351 msSignalShelf100%
/v1/instagram/search/popularHTTP 400 INVALID_PARAMETERHTTP 404——
/v1/instagram/song/reels498 ms2544 msSignalShelf100%
/v1/instagram/user/embed1662 ms1614 msScrapeCreators100%
/v1/instagram/user/highlight/detail778 ms2800 msSignalShelf100%
/v1/instagram/user/highlights439 ms14164 msSignalShelf100%
/v1/instagram/user/reels553 ms3886 msSignalShelf100%
/v1/kick/clip1549 ms6199 msSignalShelf100%
/v1/kick/clip/transcript9051 msHTTP 503——
/v1/komi6917 ms9370 msSignalShelf100%
/v1/linkbio2919 ms7572 msSignalShelf100%
/v1/linkedin/adHTTP 503 SOURCE_ACCESS_RESTRICTED2164 ms—0%
/v1/linkedin/ads/searchHTTP 503 SOURCE_ACCESS_RESTRICTED6552 ms—0%
/v1/linkedin/company/posts1382 ms3737 msSignalShelf100%
/v1/linkedin/post748 ms1637 msSignalShelf100%
/v1/linkedin/post/transcript1136 ms2202 msSignalShelf100%
/v1/linkedin/profile1520 ms2568 msSignalShelf100%
/v1/linkedin/search/posts4108 ms6466 msSignalShelf100%
/v1/linkme1962 ms2812 msSignalShelf100%
/v1/linktree450 ms7768 msSignalShelf100%
/v1/pillar1253 msHTTP 200—100%
/v1/pinterest/board3773 ms12339 msSignalShelf100%
/v1/pinterest/pin454 ms4293 msSignalShelf100%
/v1/pinterest/search1688 ms3201 msSignalShelf100%
/v1/pinterest/topic685 ms3796 msSignalShelf100%
/v1/pinterest/user/boards637 ms2946 msSignalShelf100%
/v1/reddit/post/transcript897 ms4526 msSignalShelf100%
/v1/rumble/channel/videos1102 ms4138 msSignalShelf100%
/v1/rumble/search2558 ms1449 msScrapeCreators100%
/v1/rumble/video1013 ms3613 msSignalShelf100%
/v1/rumble/video/comments1405 ms4669 msSignalShelf100%
/v1/rumble/video/transcript2647 ms6468 msSignalShelf100%
/v1/snapchat/spotlight/comments637 ms3812 msSignalShelf100%
/v1/soundcloud/artist1251 ms2350 msSignalShelf100%
/v1/soundcloud/artist/tracks3236 ms2744 msScrapeCreators100%
/v1/soundcloud/track905 ms5605 msSignalShelf100%
/v1/spotify/album350 ms8704 msSignalShelf100%
/v1/spotify/artist1233 ms10851 msSignalShelf100%
/v1/spotify/playlist451 ms8820 msSignalShelf100%
/v1/spotify/podcast475 ms3499 msSignalShelf100%
/v1/spotify/podcast/episodes452 ms6895 msSignalShelf100%
/v1/spotify/search707 ms3369 msSignalShelf100%
/v1/spotify/track432 ms7800 msSignalShelf100%
/v1/telegram/channel1004 ms2955 msSignalShelf100%
/v1/telegram/channel/posts851 ms1400 msSignalShelf100%
/v1/telegram/post254 ms2502 msSignalShelf100%
/v1/threads/post877 ms5343 msSignalShelf100%
/v1/threads/profile5258 ms3257 msScrapeCreators100%
/v1/threads/search1919 ms2228 msSignalShelf100%
/v1/threads/search/users830 ms5910 msSignalShelf100%
/v1/threads/user/posts4502 ms4208 msScrapeCreators100%
/v1/tiktok/ad-library/ad2853 ms8304 msSignalShelf100%
/v1/tiktok/ad-library/search7044 ms1662 msScrapeCreators100%
/v1/tiktok/collection/videos989 msHTTP 400——
/v1/tiktok/get-trending-feed2276 ms8624 msSignalShelf100%
/v1/tiktok/live2593 msHTTP 400——
/v1/tiktok/profile3366 ms4072 msSignalShelf100%
/v1/tiktok/search/hashtag2417 ms7562 msSignalShelf100%
/v1/tiktok/search/keyword2001 ms2844 msSignalShelf100%
/v1/tiktok/search/suggestions2393 ms1224 msScrapeCreators100%
/v1/tiktok/search/top1607 ms4537 msSignalShelf100%
/v1/tiktok/search/users9499 ms2500 msScrapeCreators100%
/v1/tiktok/shop/product/reviewsHTTP 503 SOURCE_ACCESS_RESTRICTED3090 ms—0%
/v1/tiktok/shop/products1678 ms3638 msSignalShelf100%
/v1/tiktok/song935 ms2569 msSignalShelf100%
/v1/tiktok/song/videos604 ms3249 msSignalShelf100%
/v1/tiktok/user/followers482 ms2819 msSignalShelf100%
/v1/tiktok/user/following453 ms2035 msSignalShelf100%
/v1/tiktok/user/live926 ms7027 msSignalShelf100%
/v1/tiktok/video/comment/replies1997 ms2312 msSignalShelf100%
/v1/tiktok/video/comments4167 ms991 msScrapeCreators100%
/v1/tiktok/video/transcript3081 ms4004 msSignalShelf100%
/v1/tiktok/videos/popular9190 msHTTP 400——
/v1/tripadvisor/reviews781 ms———
/v1/trustpilot/business690 ms———
/v1/trustpilot/reviews233 ms———
/v1/truthsocial/post769 ms2609 msSignalShelf100%
/v1/truthsocial/profile8733 ms1160 msScrapeCreators100%
/v1/truthsocial/user/posts8516 ms4372 msScrapeCreators100%
/v1/twitch/clip/transcript1725 ms7838 msSignalShelf100%
/v1/twitter/community554 ms4226 msSignalShelf100%
/v1/twitter/community/tweets1041 ms3732 msSignalShelf100%
/v1/twitter/profile2656 ms4093 msSignalShelf100%
/v1/twitter/search/posts2811 ms6127 msSignalShelf100%
/v1/twitter/tweet612 ms2602 msSignalShelf100%
/v1/twitter/tweet/transcript591 ms6165 msSignalShelf100%
/v1/twitter/user-tweets1442 ms3834 msSignalShelf100%
/v1/web/searchHTTP 400 INVALID_PARAMETER———
/v1/youtube/shorts/trending10902 ms11076 msSignalShelf100%
/v2/instagram/media/transcript5909 ms7620 msSignalShelf100%
/v2/instagram/post/comments706 ms5618 msSignalShelf100%
/v2/instagram/reels/search4924 ms11590 msSignalShelf100%
/v2/instagram/user/posts2124 ms14576 msSignalShelf100%
/v2/tiktok/video989 ms5212 msSignalShelf100%
/v3/tiktok/profile/videos3389 ms5316 msSignalShelf100%
Explore the API in your workspace. Sample results and accepted cache hits cost zero credits. Open the playground →