diff --git a/packages/react-openapi/src/code-samples.test.ts b/packages/react-openapi/src/code-samples.test.ts
index 4945f9fc9d..d54ef2ed50 100644
--- a/packages/react-openapi/src/code-samples.test.ts
+++ b/packages/react-openapi/src/code-samples.test.ts
@@ -385,7 +385,7 @@ describe('python code sample generator', () => {
         const output = generator?.generate(input);
 
         expect(output).toBe(
-            'import requests\n\nresponse = requests.get(\n    "https://example.com/path",\n    headers={"Content-Type":"application/json"},\n    data={"key":"value"}\n)\n\ndata = response.json()'
+            'import requests\n\nresponse = requests.get(\n    "https://example.com/path",\n    headers={"Content-Type":"application/json"},\n    json={"key":"value"}\n)\n\ndata = response.json()'
         );
     });
 
@@ -419,7 +419,7 @@ describe('python code sample generator', () => {
         const output = generator?.generate(input);
 
         expect(output).toBe(
-            'import requests\n\nresponse = requests.get(\n    "https://example.com/path",\n    headers={"Content-Type":"application/graphql"},\n    data="{ key }"\n)\n\ndata = response.json()'
+            'import requests\n\nresponse = requests.get(\n    "https://example.com/path",\n    headers={"Content-Type":"application/json"},\n    json="{ key }"\n)\n\ndata = response.json()'
         );
     });
 
diff --git a/packages/react-openapi/src/code-samples.ts b/packages/react-openapi/src/code-samples.ts
index bb07f1f20c..62ac0171c0 100644
--- a/packages/react-openapi/src/code-samples.ts
+++ b/packages/react-openapi/src/code-samples.ts
@@ -126,9 +126,14 @@ export const codeSampleGenerators: CodeSampleGenerator[] = [
                 code += indent(`headers=${stringifyOpenAPI(headers)},\n`, 4);
             }
 
+            const contentType = headers?.['Content-Type'] || '';
+
             if (body) {
                 if (body === 'files') {
                     code += indent(`files=${body}\n`, 4);
+                } else if (contentType === 'application/json') {
+                    // If the content type is JSON, we use json={}
+                    code += indent(`json=${stringifyOpenAPI(body)}\n`, 4);
                 } else {
                     code += indent(`data=${stringifyOpenAPI(body)}\n`, 4);
                 }
@@ -326,7 +331,9 @@ const BodyGenerators = {
     getPythonBody: (body: any, headers?: Record<string, string>) => {
         if (!body || !headers) return;
         let code = '';
-        const contentType: string = headers['Content-Type'] || '';
+        // Copy headers to avoid mutating the original object
+        const headersCopy = { ...headers };
+        const contentType: string = headersCopy['Content-Type'] || '';
 
         if (isFormData(contentType)) {
             code += 'files = {\n';
@@ -346,7 +353,12 @@ const BodyGenerators = {
             body = 'files';
         }
 
-        return { body, code, headers };
+        if (isGraphQL(contentType)) {
+            // Set Content-Type to application/json for GraphQL, recommended by GraphQL spec
+            headersCopy['Content-Type'] = 'application/json';
+        }
+
+        return { body, code, headers: headersCopy };
     },
     getHTTPBody: (body: any, headers?: Record<string, string>) => {
         if (!body || !headers) return undefined;