TypeError: string indices must be integers
TypeError: string indices must be integers
A string was indexed with a non-integer, so Python rejected the subscript.
What it means
A string was indexed with a non-integer, so Python rejected the subscript.
Likely cause
Treating a string as if it were a dict, e.g. 's["key"]', usually because a variable is a JSON string that was never parsed into a dict.
How to fix it
Parse JSON text with 'json.loads()' before subscripting by key, and use integer indices/slices on strings. Verify the variable is a dict when you access it by name.
Other Python errors
About Error Code Lookup
The Error Code Lookup is a searchable directory of more than 200 common error messages and codes across 12 categories: HTTP status codes, Windows error codes, browser and network errors, JavaScript, Python, PHP, Node.js and npm, Java, MySQL, Git, Linux shell errors and email/SMTP codes. Every entry is written in plain language for quick troubleshooting.
Each error is explained in three parts: what the message actually means, what usually causes it and concrete steps to fix it. That structure turns a cryptic string like ERR_CONNECTION_REFUSED or 0x80070005 into an actionable checklist instead of a guessing game.
You can filter the list by category, search by code, constant or message fragment, and copy any code with one click. Every error also has its own dedicated page with related errors from the same category, so you can bookmark or share a direct link to the exact fix.
How to use Error Code Lookup
- Type the error code or message into the search box — for example 404, ERR_NAME_NOT_RESOLVED or 0x80070005.
- Narrow the results with the category filter (HTTP, Windows, JavaScript, MySQL and so on) if the search returns too many entries.
- Open the matching entry to read what it means, its likely cause and how to fix it.
- Use the copy button to grab the exact code for a bug report or support ticket.
- Check the related errors section for other errors from the same category.