Skip to content
Revadike edited this page Nov 5, 2026 · 1 revision

GET /actions/ReportProfile/:steamid

Returns the HTML shell of the profile report wizard. The shell loads its individual steps from /actions/AjaxGetReportProfileStep/ and submits the finished report to /actions/ReportAbuse/.

Rate limits

No known rate limit

Request

Authenticated: Yes

Method: GET

Host: steamcommunity.com

Path: /actions/ReportProfile/:steamid

Variables:

Name Type Description
:steamid string The 64-bit SteamID of the user being reported

Response

200 OK

The response body is the HTML wizard shell: a <style> block, the report_profile_ctn container holding #step_header and #step_content, and the inline JavaScript that drives the wizard.

Anonymous requests receive the Steam Community sign-in page instead of the wizard. The endpoint has no JSON mode.

Example

GET https://steamcommunity.com/actions/ReportProfile/76561197960287930
<style type="text/css">

	.report_profile_ctn {
			font-family: "Motiva Sans", Sans-serif;
		font-weight: 300; /* light */

				width: 600px;
		margin: 0 auto;
		padding-top: 8px;
	}

	#step_header {
		color: #66c0f4;
		margin-bottom: 20px;
		font-size: 16px;
	}

	.report_profile_nav_ctn {
		display: flex;
		justify-content: space-between;
		margin-top: 30px;
		border-top: 1px solid #5aa9d6;
		padding: 10px;
	}

	.report_profile_current_step {
		margin-top: 12px;
		padding-top: 10px;
		border-top: 1px solid #3b4959;
	}

	.report_profile_banner {
		display: flex;
		flex: 1 100%;
	}

	.report_player_avatar,
	.report_player_avatar img {
		width: 32px;
		height: 32px;
	}

	.player_details {
		margin: 0px 0 0 10px;
		font-size: 24px;
	}

	.action_btn_ctn {
		padding: 10px;
		color: #fff;
		background-color: #445468;
		margin-top: 10px;
		cursor: pointer;
		display: block;
		min-height: 20px;
	}

	.action_btn_ctn:hover {
		background-color: #4581a5;
	}

	.action_btn_ctn img {
		width: 42px;
		display: inline-block;
		float: left;
		margin-right: 8px;
	}
	.action_btn_header {
		font-weight: 500;
		font-size: 16px;
		display: block;
	}
	.action_btn_content {
		font-size: 13px;
		display: block;
	}

	.report_txt_ctn {
		margin-top: 10px;
		margin-bottom: 20px;
		background: #9fb1bc;
		padding: 12px;
		position: relative;
		border-radius: 4px;
	}

	.report_txt_ctn:before {
		bottom: 100%;
		left: 28px;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(136, 183, 213, 0);
		border-bottom-color: #9fb1bc;
		border-width: 14px;
		margin-left: -14px;
	}

	#btn_submit_report {
		float: right;
	}

	#report_txt_input {
		width: calc(100% - 12px);
		min-height: 80px;
		display: block;
		resize: none;
		background-color: rgba( 0, 0, 0, 0.4 );
		box-shadow: 1px 1px 1px rgba(255,255,255,0.5);
	}

	#report_txt_input.error, #report_game_input.error {
		border: 2px solid  #95423a;
	}
	#report_txt_input::placeholder {
		color: rgba( 255, 255, 255, 0.6 );
	}

	.report_error,
	.request_fail {
		background: #612d00;
		padding: 6px;
		color: #d89d69;
		position: relative;
		margin: 6px 0;
	}
	.request_fail p {
		margin: 0;
	}
	.request_fail:before {
		bottom: 100%;
		left: 28px;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(136, 183, 213, 0);
		border-bottom-color: #612d00;
		border-width: 10px;
		margin-left: -6px;
	}

	.request_success {
		background: #5a7204;
		padding: 6px;
		color: #a3cf06;
		position: relative;
		margin-top: 6px;
	}

	.request_success p {
		margin: 0;
	}

	.request_success:before {
		bottom: 100%;
		left: 28px;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(136, 183, 213, 0);
		border-bottom-color: #5a7204;
		border-width: 10px;
		margin-left: -6px;
	}

	.report_game_ctn {
		color: #ffffff;
		font-size: 16px;
		margin: 10px 0;
	}

	#report_game_input {
		background-color: rgba( 0, 0, 0, 0.4 );
		margin-top: 5px;
	}

	.game_playtime_suggestion:hover {
		background-color: rgba( 0, 0, 0, 0.3 );
	}

	.game_playtime_suggestion.selected {
		background: url('https://community.fastly.steamstatic.com/public/images//skin_1/ico_selected.png' ) rgb( 82, 162, 193 );
		background-repeat: no-repeat;
		padding-left: 32px;
		background-position-x: 7px;
		background-position-y: 16px;
	}

	.report_game_footnote {
		margin-top: 10px;
		font-size: 11px;
	}

	img.game_button_icon {
		height: 28px;
		width: 28px;
	}

	.game_button_label {
		line-height: 25px;
	}

	@media screen and (max-width: 910px) {
		html.responsive .report_profile_ctn {
			width: inherit;
		}

	}

</style>
<script type="text/javascript" >

	var g_CurrentStep = 0;
	var g_nIndex = 1;
	var g_PreviousSteps = [];
	var g_NextStep = null;
	var g_steamIDVictim = "76561197960287930";
	var g_abuseType = null;
	var g_appID = null;

	function SelectGameSuggestion( el )
	{
		var elGame = $J( el );
		g_appID = null;
		$J( '.game_playtime_suggestion' ).removeClass( 'selected' );

		if ( !elGame.hasClass( 'selected' ) )
		{
			g_appID = elGame.data( "appid" );
			elGame.addClass( 'selected' );
		}
	}

	function SetNextStep( eNextStep )
	{
		g_NextStep = eNextStep;
	}

	function DoNextStep( eNextStep )
	{
		g_NextStep = eNextStep;
		g_nIndex++;
		ProcessStep( g_NextStep );
	}

	function ProcessStep( next_step )
	{
		$J(".report_profile_current_step").fadeTo( "fast", 0.1 );

		$J.ajax( {
			url: 'https://steamcommunity.com/actions/AjaxGetReportProfileStep/',
			type: 'POST',
			data: { sessionID: g_sessionID, step: next_step, steamid: g_steamIDVictim }
		}).fail( function( jqxhr ) {

		}).done( function( data ) {

			if ( data.success != 1 )
				return;

			$J( '#btn_back' ).css( 'visibility', 'visible' );

			g_PreviousSteps[ g_nIndex ] = g_NextStep;
			g_CurrentStep = g_NextStep;
			g_abuseType = data.abuse_type;
			g_appID = null;

			$J( '#step_header' ).html( data.strHeader );
			$J( '#step_content' ).html( data.strBody );

			if ( data.hide_back )
				$J( '#btn_back' ).css( 'visibility', 'hidden' );

			$J( ".report_profile_current_step" ).fadeTo( "fast", 1 );
		});

	}

	function DoPreviousStep()
	{
		g_nIndex--;
		g_NextStep = g_PreviousSteps[ g_nIndex ];
		ProcessStep( g_NextStep );
	}

	function ShowReportProfile()
	{
		if ( $J( '#report_button' ).hasClass( 'btn_disabled' ) )
			return;

		if ( $J( '.report_txt_ctn' ).is( ':visible' ) )
		{
			$J( '.report_txt_ctn' ).slideUp();
			return;
		}

		$J( '.report_txt_ctn' ).slideDown();
		$J( '#report_txt_input' ).focus();
	}

	function SubmitReport()
	{
		if ( $J( '#report_button' ).hasClass( 'btn_disabled' ) )
			return;

		$J( '#report_fail' ).hide();
		$J( '.report_error' ).fadeOut();
		$J( '#report_txt_input, #report_game_input' ).removeClass( 'error' );
		if ( $J( '#report_txt_input' ).val().length < 5 )
		{
			$J( '.report_error' ).text( 'Please provide additional details about this report' );
			$J( '#report_txt_input' ).addClass( 'error' );
			$J( '.report_error' ).fadeIn();
			return;
		}

		if ( $J('.report_game_ctn').length && !g_appID )
		{
			$J( '.report_error' ).text( 'Please select the game this occurred in' );
			$J( '#report_game_input' ).addClass( 'error' );
			$J( '.report_error' ).fadeIn();
			return;
		}

		$J.ajax( {
			url: 'https://steamcommunity.com/actions/ReportAbuse/',
			type: 'POST',
			data: {
				sessionid: g_sessionID,
				json: 1,
				abuseID: g_steamIDVictim,
				eAbuseType: g_abuseType,
				abuseDescription: $J( '#report_txt_input' ).val(),
				ingameAppID: g_appID
			}
		}).fail( function( jqxhr ) {
			$J( '#report_fail' ).show();
		}).done( function( eResult ) {

			if ( eResult == 1 )
			{
				$J( '#report_success' ).show();
				$J( '#report_button' ).addClass( 'btn_disabled' );
				$J( '.report_txt_ctn' ).slideUp();
				HideBack();
			}
			else if ( eResult == 25 )
			{
				$J( '.report_error' ).text( 'It looks like you\'ve already filed a report against this person.' );
				$J( '.report_error' ).fadeIn();
			}
			else if ( eResult == 25)
			{
				$J( '.report_error' ).text( 'You have been temporarily banned from reporting content.' );
				$J( '.report_error' ).fadeIn();
			}
			else
			{
				$J( '#report_fail' ).show();
			}
		});
	}

	function HideBack()
	{
		$J( '#btn_back' ).css( 'visibility', 'hidden' );
	}

	function BlockUserAjax()
	{
		if ( $J( '#block_user_btn' ).hasClass( 'btn_disabled' ) )
			return;

		$J.ajax( {
			url: 'https://steamcommunity.com/actions/BlockUserAjax/',
			type: 'POST',
			data: { sessionID: g_sessionID, steamid: g_steamIDVictim }
		}).fail( function( jqxhr ) {
			$J( '#block_fail' ).show();
		}).done( function( data ) {
			$J( '#block_success' ).show();
			$J( '#block_user_btn' ).addClass( 'btn_disabled' );
			HideBack();
		});
	}

	function RemoveFriendAjax()
	{
		if ( $J( '#remove_friend_btn' ).hasClass( 'btn_disabled' ) )
			return;

		$J.ajax( {
			url: 'https://steamcommunity.com/actions/RemoveFriendAjax/',
			type: 'POST',
			data: { sessionID: g_sessionID, steamid: g_steamIDVictim }
		}).fail( function( jqxhr ) {
			$J( '#removefriend_fail' ).show();
		}).done( function( data ) {
			$J( '#removefriend_success' ).show();
			$J( '#remove_friend_btn' ).addClass( 'btn_disabled' );
			HideBack();
		});
	}

</script>

<div class="report_profile_ctn" >

	<div class="report_profile_banner">
		<div class="report_player_avatar" >
			<a href="https://steamcommunity.com/id/GabeLoganNewell" ><img src="https://avatars.fastly.steamstatic.com/c5d56249ee5d28a07db4ac9f7f60af961fab5426_medium.jpg"></a>
		</div>
		<div class="player_details">
			<a href="https://steamcommunity.com/id/GabeLoganNewell" >Rabscuttle</a>
		</div>
	</div>

	<div class="report_profile_current_step">

		<div id="step_header">
			Please tell us why you're reporting this person		</div>
		<div id="step_content">
							<div class="action_btn_ctn" onclick="DoNextStep( 15 )">
			They have an inappropriate avatar picture		</div>
				<div class="action_btn_ctn" onclick="DoNextStep( 16 )">
			They have an inappropriate profile name		</div>
				<div class="action_btn_ctn" onclick="DoNextStep( 2 )">
			They are posting inappropriate or offensive content		</div>
				<div class="action_btn_ctn" onclick="DoNextStep( 4 )">
			They are spamming, annoying or harassing me		</div>
				<div class="action_btn_ctn" onclick="DoNextStep( 8 )">
			They are involved in theft, scamming, fraud or other malicious activity		</div>
				<div class="action_btn_ctn" onclick="DoNextStep( 12 )">
			They are cheating in a game		</div>
				</div>

	</div>

	<div class="report_profile_nav_ctn">
		<a id="btn_back" href="javascript:void( 0 );" onclick="DoPreviousStep()" style="visibility: hidden" >Back</a>
	</div>
</div>

Clone this wiki locally