Requests · Schema
Requests Request
JSON Schema describing the parameters accepted by the Python Requests library's main request() function and convenience methods (get, post, put, patch, delete, head, options).
ClientsHTTP ClientHTTP LibraryOpen-SourcePythonPython Software Foundation
Properties
| Name | Type | Description |
|---|---|---|
| method | string | HTTP method for the request. |
| url | string | URL for the request. |
| params | objectarraystring | Dictionary, list of tuples, or bytes to send in the query string. |
| data | objectarraystring | Dictionary, list of tuples, bytes, or file-like object to send in the request body (form-encoded). |
| json | object | A JSON-serializable Python object to send as application/json in the request body. |
| headers | object | Dictionary of HTTP headers to send with the request. |
| cookies | objectstring | Dictionary or CookieJar of cookies to send with the request. |
| files | object | Dictionary of name to file-like objects for multipart form upload. |
| auth | arrayobjectnull | Auth tuple (username, password) for Basic Auth, or an auth callable for custom auth schemes. |
| timeout | numberarraynull | Seconds to wait for the server to respond. Float for single timeout; [connect_timeout, read_timeout] tuple for separate timeouts. |
| allow_redirects | boolean | Whether to follow redirects. Defaults to True for GET/POST/etc., False for HEAD. |
| proxies | object | Dictionary mapping protocol schemes to proxy URLs (e.g., {'https': 'http://proxy:8080'}). |
| verify | booleanstring | Boolean to control TLS certificate verification, or path string to a CA bundle. Defaults to True. |
| stream | boolean | If False, response content is downloaded immediately. If True, streaming mode is used. |
| cert | stringarray | Path to SSL client certificate .pem file, or a ['cert', 'key'] tuple. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/requests/refs/heads/main/json-schema/requests-request-schema.json",
"title": "Requests Request",
"description": "JSON Schema describing the parameters accepted by the Python Requests library's main request() function and convenience methods (get, post, put, patch, delete, head, options).",
"type": "object",
"required": ["method", "url"],
"properties": {
"method": {
"type": "string",
"enum": ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"],
"description": "HTTP method for the request."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL for the request."
},
"params": {
"type": ["object", "array", "string"],
"description": "Dictionary, list of tuples, or bytes to send in the query string."
},
"data": {
"type": ["object", "array", "string"],
"description": "Dictionary, list of tuples, bytes, or file-like object to send in the request body (form-encoded)."
},
"json": {
"description": "A JSON-serializable Python object to send as application/json in the request body."
},
"headers": {
"type": "object",
"description": "Dictionary of HTTP headers to send with the request.",
"additionalProperties": { "type": "string" }
},
"cookies": {
"type": ["object", "string"],
"description": "Dictionary or CookieJar of cookies to send with the request."
},
"files": {
"type": "object",
"description": "Dictionary of name to file-like objects for multipart form upload."
},
"auth": {
"type": ["array", "object", "null"],
"description": "Auth tuple (username, password) for Basic Auth, or an auth callable for custom auth schemes."
},
"timeout": {
"type": ["number", "array", "null"],
"description": "Seconds to wait for the server to respond. Float for single timeout; [connect_timeout, read_timeout] tuple for separate timeouts."
},
"allow_redirects": {
"type": "boolean",
"description": "Whether to follow redirects. Defaults to True for GET/POST/etc., False for HEAD.",
"default": true
},
"proxies": {
"type": "object",
"description": "Dictionary mapping protocol schemes to proxy URLs (e.g., {'https': 'http://proxy:8080'}).",
"additionalProperties": { "type": "string" }
},
"verify": {
"type": ["boolean", "string"],
"description": "Boolean to control TLS certificate verification, or path string to a CA bundle. Defaults to True.",
"default": true
},
"stream": {
"type": "boolean",
"description": "If False, response content is downloaded immediately. If True, streaming mode is used.",
"default": false
},
"cert": {
"type": ["string", "array"],
"description": "Path to SSL client certificate .pem file, or a ['cert', 'key'] tuple."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/requests-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.