Skip to content
Revadike edited this page Oct 9, 2026 · 3 revisions

GET /curators/ajaxgetcurators

Rate limits

No known rate limit

Request

Authenticated: No

Method: GET

Host: store.steampowered.com

Path: /curators/ajaxgetcurators/

Query Parameters:

Name Type Required Description
query string Yes The search query
start string No The starting offset
count string Yes The number of items
dynamic_data string No TODO
filter string No The filter
appid number Yes The Steam AppID

Response

200 OK

Name Type Description
success boolean Whether the request was successful
pagesize number The page size
total_count number The total number of items
start number The starting offset
results_html string HTML of the results

Example

GET https://store.steampowered.com/curators/ajaxgetcurators/?query=&start=0&count=10&dynamic_data=&filter=mycurators&appid=0
{
    "success": true,
    "pagesize": 10,
    "total_count": 0,
    "start": 0,
    "results_html": "<script>\n\t$J( function() {\n\t\tGStoreItemData.AddStoreItemDataSet( {\"rgApps\":[],\"rgPackages\":[],\"rgBundles\":[]} );\n\t\tGStoreItemData.AddStoreAccountData( [] );\n\n\n\t\tGDynamicStore.OnReady(function()\n\t\t{\n\t\t\t$J.each($J('.bucket_contents').children(), function (i, j)\n\t\t\t{\n\t\t\t\tvar $ele = $J(j);\n\t\t\t\tvar nAppId = $ele.data('ds-appid');\n\n\t\t\t\tif ( GDynamicStore.BIsAppIgnored(nAppId) || GDynamicStore.BIsAppOwned(nAppId) )\n\t\t\t\t{\n\t\t\t\t\t$ele.hide();\n\t\t\t\t}\n\t\t\t});\n\n\t\t});\n\t} );\n\n<\/script>\n\n\n<div class=\"curator_recommendation_capsule\" >\n\t<div class=\"carousel_container paging_capsules\" id=\"feature_curators_block_0\" style=\"display: none;\">\n\t\t\t\t<div class=\"carousel_items curator_featured_tags\" aria-labelledby=\"header_recommended_creators\" role=\"list\">\n\n\t\t<\/div>\n\n\n\t\t<div class=\"carousel_thumbs\">\n\n\t\t<\/div>\n\t\t<div class=\"arrow left\"><div><\/div><\/div>\n\t\t<div class=\"arrow right\" ><div><\/div><\/div>\n\t<\/div>\n\n\t<div class=\"curator_ignored_all_recommended\" id=\"feature_curators_ignored_block_0\" style=\"display: none;\">\n\t\t<h2><b>SUGGESTED<\/b> CURATORS<\/h2>\n\t\t<div class=\"description\">You've ignored a fair number of Steam Curators. Perhaps we're bad at recommending curators for you, or perhaps you aren't interested in utilizing curators.  Either way, we'll stop recommending curators in this space for now. If you wish to find some curators to follow, click <a href=\"https:\/\/store.steampowered.com\/curators\/recommendedcurators\/?snr=1_1050_ajaxgetcurators_\">here<\/a>.<\/div>\n\t<\/div>\n\n\n\t<script>\n\t\tvar g_nNumIgnoredCurators = 0;\n\t\tvar g_rgTopCurators = [];\n\n\t\tvar fnCreateCapsule = function() {\n\t\t\tvar strTemplate = \"\\n\\t\\t\\t\\t\\t<div class=\\\"curator_page\\\">\\n\\t\\t\\t\\t\\t\\t<div class=\\\"profile\\\">\\n\\t\\t\\t\\t\\t\\t\\t<a href=\\\"%5$s\\\" class=\\\"profile_avatar\\\"><img class=\\\"avatar\\\" src=\\\"%2$s\\\"><\\\/a>\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"info\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"name\\\">%1$s<\\\/div>\\n\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"actions\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div>\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a class=\\\" follow_button btn_green_steamui btn_medium \\\" href=\\\"#\\\"><span>Follow<\\\/span><\\\/a>\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t<a class=\\\" following_button btn_green_steamui btn_medium \\\" href=\\\"#\\\"><span>Following<\\\/span><\\\/a>\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t<div class=\\\"followers\\\"><span>%4$s<\\\/span>Followers<\\\/div>\\n\\t\\t\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ignore_button_area\\\">\\n\\t\\t\\t\\t\\t\\t\\t\\t<a class=\\\" ignore_button \\\" href=\\\"#\\\"><span>Ignore this curator<\\\/span><\\\/a>\\n\\t\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t\\t<div class=\\\"curations\\\">\\n\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t\\t<div class=\\\"ignored_banner\\\">\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ignored_banner_title\\\">Curator Ignored<\\\/div>\\n\\t\\t\\t\\t\\t\\t\\t<div class=\\\"ignored_banner_desc\\\">%3$s<\\\/div>\\n\\t\\t\\t\\t\\t\\t\\t<div><a class=\\\" btn_grey_white_innerfade btn_small_thin undo_ignore_button \\\" href=\\\"#\\\"><span>Oops. Undo this.<\\\/span><\\\/a><\\\/div>\\n\\t\\t\\t\\t\\t\\t<\\\/div>\\n\\t\\t\\t\\t\\t<\\\/div>\";\n\n\t\t\tvar elContainer = $J ( '#feature_curators_block_0 .carousel_items' );\n\t\t\tvar elPipContainer = $J ( '#feature_curators_block_0 .carousel_thumbs' );\n\n\t\t\tvar curators = g_rgTopCurators;\n\t\t\tvar numIgnoredCurators = g_nNumIgnoredCurators;\n\t\t\tvar bShowAllRecommendations = 1;\n\t\t\tvar bExpanded = ( typeof g_bCuratorClusterExpanded !== 'undefined' && g_bCuratorClusterExpanded ) ||\n\t\t\t\t0;\n\n\t\t\t$J.each ( curators, function ( idx, curator ) {\n\n\t\t\t\tif ( !bShowAllRecommendations && curator.m_rgAppRecommendations.length < 4 )\n\t\t\t\t\treturn;\n\n\t\t\t\tvar tagLineFollow = \"Follow <span>%1$s<\\\/span> to see more reviews like these\".replace ( \/%1\\$s\/, V_EscapeHTML ( curator.name ) );\n\t\t\t\tvar tagLineFollowing = \"Recent reviews from <span>%1$s<\\\/span>\".replace ( \/%1\\$s\/, V_EscapeHTML ( curator.name ) );\n\n\t\t\t\tvar elCapsule = $J ( strTemplate\n\t\t\t\t\t.replace ( \/%1\\$s\/g, tagLineFollow )\n\t\t\t\t\t.replace ( \/%2\\$s\/g, GetAvatarURL ( curator.strAvatarHash, '_medium' ) )\n\t\t\t\t\t.replace ( \/%3\\$s\/g, \"We won't include this curator in future recommendations.\".replace( \/%1\\$s\/, V_EscapeHTML ( curator.link ) ) )\n\t\t\t\t\t.replace ( \/%4\\$s\/g, curator.total_followers.toLocaleString () )\n\t\t\t\t\t.replace ( \/%5\\$s\/, GStoreItemData.AddNavEventParamsToURL ( curator.link, 'suggested_curator' ) )\n\t\t\t\t);\n\n\t\t\t\t$J('.ignore_button', elCapsule ).on('click', function() {\n\t\t\t\t\tIgnoreCuratorWithCallback( curator.clanID, true, function( bIgnored ){\n\t\t\t\t\t\telCapsule.toggleClass( \"ignored\", bIgnored );\n\t\t\t\t\t});\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t});\n\n\t\t\t\t$J('.undo_ignore_button', elCapsule ).on('click', function() {\n\t\t\t\t\tIgnoreCuratorWithCallback( curator.clanID, false, function( bIgnored ){\n\t\t\t\t\t\telCapsule.toggleClass( \"ignored\", bIgnored );\n\t\t\t\t\t});\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t});\n\n\t\t\t\t$J('.follow_button', elCapsule).on('click', function(){\n\t\t\t\t\tFollowCuratorWithCallback( curator.clanID, true, function(){\n\t\t\t\t\t\telCapsule.addClass( \"followed\" );\n\t\t\t\t\t\t$J('.following_button', elCapsule).show();\n\t\t\t\t\t\t$J('.follow_button', elCapsule).hide();\n\t\t\t\t\t\t$J('.name', elCapsule).html( tagLineFollowing );\n\t\t\t\t\t});\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t});\n\n\t\t\t\t$J('.following_button', elCapsule).on('click', function(){\n\t\t\t\t\tFollowCuratorWithCallback( curator.clanID, false, function(){\n\t\t\t\t\t\telCapsule.removeClass( \"followed\" );\n\t\t\t\t\t\t$J('.follow_button', elCapsule).show();\n\t\t\t\t\t\t$J('.following_button', elCapsule).hide();\n\t\t\t\t\t\t$J('.name', elCapsule).html( tagLineFollow );\n\t\t\t\t\t});\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t});\n\n\t\t\t\tif( typeof gFollowedCuratorIDs !== 'undefined' && gFollowedCuratorIDs && gFollowedCuratorIDs.hasOwnProperty( parseInt( curator.clanID ) ) )\n\t\t\t\t{\n\t\t\t\t\tcurator.bFollowed = true;\n\t\t\t\t}\n\n\t\t\t\tif( typeof gIgnoredCuratorIDs !== 'undefined' && gIgnoredCuratorIDs && gIgnoredCuratorIDs.hasOwnProperty( parseInt( curator.clanID ) ) )\n\t\t\t\t{\n\t\t\t\t\telCapsule.addClass( \"ignored\" );\n\t\t\t\t}\n\n\t\t\t\tif( curator.bFollowed )\n\t\t\t\t{\n\t\t\t\t\telCapsule.addClass( \"followed\" );\n\t\t\t\t\t$J('.follow_button', elCapsule).hide();\n\t\t\t\t\t$J('.name', elCapsule).html( tagLineFollowing );\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t$J('.following_button', elCapsule).hide();\n\t\t\t\t}\n\n\t\t\t\t\/\/ Now add curations\n\t\t\t\tvar elCurationContainer = $J ( '.curations', elCapsule );\n\t\t\t\tvar cRecommendations = 0;\n\t\t\t\t$J.each( curator.m_rgAppRecommendations, function(idx, recommendation) {\n\t\t\t\t\tvar elCapContainer = $J ( '<div><\/div>' );\n\t\t\t\t\tvar el = GDynamicStoreHelpers.BuildCapsuleHTML ( 'suggested_curator_recommended', recommendation.appid, null, null, {\n\t\t\t\t\t\tdiscount_class: 'discount_block_inline corner_cap_discount',\n\t\t\t\t\t\tcurator: curator.clanID\n\t\t\t\t\t} );\n\n\t\t\t\t\tvar strColor = 'recommended';\n\t\t\t\t\tvar strState = \"Recommended\";\n\n\t\t\t\t\tif ( recommendation.recommendation_state == 1 )\n\t\t\t\t\t{\n\t\t\t\t\t\tstrColor = 'not_recommended';\n\t\t\t\t\t\tstrState = \"Not Recommended\";\n\t\t\t\t\t}\n\t\t\t\t\telse if ( recommendation.recommendation_state == 2 )\n\t\t\t\t\t{\n\t\t\t\t\t\tstrColor = 'informational';\n\t\t\t\t\t\tstrState = \"Informational\";\n\t\t\t\t\t}\n\n\n\t\t\t\t\tvar elRec = $J ( \"\\n\\t\\t\\t\\t\\t\\t<span class=\\\"review_direction color_%2$s\\\">%3$s<\\\/span>\\n\\t\\t\\t\\t\\t\\t<div class=\\\"text\\\">%1$s<\\\/div>\\n\\t\\t\\t\\t\\t\\t\".replace ( \/%1\\$s\/, V_EscapeHTML ( recommendation.blurb ) )\n\t\t\t\t\t\t.replace ( \/%2\\$s\/g, strColor )\n\t\t\t\t\t\t.replace ( \/%3\\$s\/g, strState )\n\t\t\t\t\t);\n\n\t\t\t\t\telCapContainer.append ( el );\n\t\t\t\t\telCapContainer.append ( elRec );\n\n\t\t\t\t\telCurationContainer.append ( elCapContainer );\n\n\t\t\t\t\tif (++cRecommendations == 4)\n\t\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\t\telContainer.append ( elCapsule );\n\t\t\t\telPipContainer.append ( document.createElement('div') );\n\t\t\t} );\n\n\t\t\tif ( ( bShowAllRecommendations || numIgnoredCurators < 10 ) && curators.length != 0 )\n\t\t\t{\n\t\t\t\t$J ( '#feature_curators_block_0' ).parent ().parent ().parent ().show ();\n\t\t\t\t$J ( '#feature_curators_block_0' ).show();\n\t\t\t\tif( bExpanded )\n\t\t\t\t{\n\t\t\t\t\t$J ( '#feature_curators_block_0' ).addClass('curator_cluster_expanded');\n\n\t\t\t\t\tGDynamicStore.DecorateDynamicItems();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tCreateFadingCarousel ( $J ( '#feature_curators_block_0' ), 0 );\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if ( !bShowAllRecommendations && numIgnoredCurators != 0 )\n\t\t\t{\n\t\t\t\t$J ( '#feature_curators_block_0' ).parent ().parent ().parent ().show ();\n\t\t\t\t$J ( '#feature_curators_ignored_block_0' ).show();\n\t\t\t}\n\t\t}\n\n\t\tif( ( typeof GHomepage !== 'undefined' ) )\n\t\t\tGHomepage.AddCustomRender(  fnCreateCapsule );\n\t\telse\n\t\t\tGDynamicStore.OnReady( fnCreateCapsule );\n\n\n\t<\/script>\n<\/div>\n"
}

Clone this wiki locally