{"openapi":"3.1.0","info":{"title":"Stack Exchange API","version":"1.0.0","description":"Search Stack Overflow and the Stack Exchange network — questions by relevance with scores, answer counts and tags, full question details, and user profiles with reputation, badges and location. Ideal for developer tools, tech-trend monitoring, Q&A aggregation and reputation lookups.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/stackexchange-api","description":"oanor gateway"}],"tags":[{"name":"Stack Exchange"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/question":{"get":{"operationId":"get_v1_question","tags":["Stack Exchange"],"summary":"Question by id","description":"","parameters":[{"name":"id","in":"query","required":true,"description":"Numeric question id","schema":{"type":"string"},"example":"11227809"},{"name":"site","in":"query","required":false,"description":"Site slug","schema":{"type":"string"},"example":"stackoverflow"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":11227809,"link":"https://stackoverflow.com/questions/11227809/why-is-conditional-processing-of-a-sorted-array-faster-than-of-an-unsorted-array","tags":["java","c++","performance","cpu-architecture","branch-prediction"],"owner":"GManNickG","score":27530,"title":"Why is conditional processing of a sorted array faster than of an unsorted array?","created_at":"2012-06-27T13:51:36.000Z","view_count":1985304,"is_answered":true,"answer_count":26,"last_activity_at":"2026-04-08T05:35:32.000Z","accepted_answer_id":11227902},"meta":{"timestamp":"2026-05-30T06:33:29.921Z","request_id":"17f03b07-c69f-4aed-8065-159a7ff98e4d"},"status":"ok","message":"Question retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["Stack Exchange"],"summary":"Search questions","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Search term","schema":{"type":"string"},"example":"async await"},{"name":"site","in":"query","required":false,"description":"Site slug","schema":{"type":"string"},"example":"stackoverflow"},{"name":"limit","in":"query","required":false,"description":"Max 1-30","schema":{"type":"string"},"example":"15"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"site":"stackoverflow","count":15,"query":"async await","results":[{"id":37576685,"link":"https://stackoverflow.com/questions/37576685/using-async-await-with-a-foreach-loop","tags":["javascript","node.js","promise","async-await","ecmascript-2017"],"owner":"Saad","score":3351,"title":"Using async/await with a forEach loop","created_at":"2016-06-01T18:55:58.000Z","view_count":2476066,"is_answered":true,"answer_count":35,"last_activity_at":"2025-01-28T01:27:13.000Z","accepted_answer_id":37576787},{"id":14455293,"link":"https://stackoverflow.com/questions/14455293/how-and-when-to-use-async-and-await","tags":["c#",".net","asynchronous","async-await"],"owner":"Dan Dinu","score":1429,"title":"How and when to use ‘async’ and ‘await’","created_at":"2013-01-22T09:29:58.000Z","view_count":1314415,"is_answered":true,"answer_count":26,"last_activity_at":"2025-12-18T14:16:06.000Z","accepted_answer_id":19985988},{"id":35612428,"link":"https://stackoverflow.com/questions/35612428/call-async-await-functions-in-parallel","tags":["javascript","node.js","asynchronous","ecmascript-6","babeljs"],"owner":"Victor Marchuk","score":923,"title":"Call async/await functions in parallel","created_at":"2016-02-24T20:28:46.000Z","view_count":602369,"is_answered":true,"answer_count":12,"last_activity_at":"2023-06-05T12:37:02.000Z","accepted_answer_id":35612484},{"id":12144077,"link":"https://stackoverflow.com/questions/12144077/async-await-when-to-return-a-task-vs-void","tags":["c#","asynchronous",".net-4.5"],"owner":"user981225","score":754,"title":"async/await - when to return a Task vs void?","created_at":"2012-08-27T14:33:39.000Z","view_count":665856,"is_answered":true,"answer_count":6,"last_activity_at":"2023-01-12T01:47:01.000Z","accepted_answer_id":12144426},{"id":12337671,"link":"https://stackoverflow.com/questions/12337671/using-async-await-for-multiple-tasks","tags":["c#",".net","task-parallel-library","async-await","c#-5.0"],"owner":"Ben Foster","score":548,"title":"Using async/await for multiple tasks","created_at":"2012-09-09T08:40:04.000Z","view_count":444967,"is_answered":true,"answer_count":8,"last_activity_at":"2024-04-24T13:20:30.000Z","accepted_answer_id":12338717},{"id":33289726,"link":"https://stackoverflow.com/questions/33289726/combination-of-async-function-await-settimeout","tags":["javascript","async-await","settimeout","ecmascript-2017"],"owner":"JShinigami","score":763,"title":"Combination of async function + await + setTimeout","created_at":"2015-10-22T20:04:42.000Z","view_count":1004285,"is_answered":true,"answer_count":19,"last_activity_at":"2024-06-25T00:41:36.000Z","accepted_answer_id":33292942},{"id":33527653,"link":"https://stackoverflow.com/questions/33527653/babel-6-regeneratorruntime-is-not-defined","tags":["javascript","node.js","babeljs"],"owner":"BrunoLM","score":829,"title":"Babel 6 regeneratorRuntime is not defined","created_at":"2015-11-04T16:58:28.000Z","view_count":778545,"is_answered":true,"answer_count":48,"last_activity_at":"2022-05-13T14:21:08.000Z","accepted_answer_id":33527883},{"id":40140149,"link":"https://stackoverflow.com/questions/40140149/use-async-await-with-array-map","tags":["javascript","typescript","promise","async-await","ecmascript-2017"],"owner":"Alon","score":614,"title":"Use async await with Array.map","created_at":"2016-10-19T19:39:06.000Z","view_count":629878,"is_answered":true,"answer_count":11,"last_activity_at":"2024-10-17T16:49:11.000Z","accepted_answer_id":40140562},{"id":34930735,"link":"https://stackoverflow.com/questions/34930735/pros-cons-of-using-redux-saga-with-es6-generators-vs-redux-thunk-with-es2017-asy","tags":["javascript","reactjs","redux","redux-thunk","redux-saga"],"owner":"hampusohlsson","score":581,"title":"Pros/cons of using redux-saga with ES6 generators vs redux-thunk with ES2017 async/await","created_at":"2016-01-21T17:45:12.000Z","view_count":137234,"is_answered":true,"answer_count":11,"last_activity_at":"2025-05-22T21:18:56.000Z","accepted_answer_id":34933395},{"id":5095183,"link":"https://stackoverflow.com/questions/5095183/how-would-i-run-an-async-taskt-method-synchronously","tags":["c#","asynchronous","c#-5.0","async-await"],"owner":"Rachel","score":775,"title":"How would I run an async Task&lt;T&gt; method synchronously?","created_at":"2011-02-23T18:18:27.000Z","view_count":579272,"is_answered":true,"answer_count":23,"last_activity_at":"2024-05-13T19:35:22.000Z","accepted_answer_id":5097066},{"id":9343594,"link":"https://stackoverflow.com/questions/9343594/how-to-call-asynchronous-method-from-synchronous-method-in-c","tags":["c#","asynchronous","async-await","synchronous"],"owner":"Tower","score":1445,"title":"How to call asynchronous method from synchronous method in C#?","created_at":"2012-02-18T17:49:28.000Z","view_count":1442880,"is_answered":true,"answer_count":15,"last_activity_at":"2025-07-04T14:02:21.000Z","accepted_answer_id":9343733},{"id":50757497,"link":"https://stackoverflow.com/questions/50757497/simplest-async-await-example-possible-in-python","tags":["python","python-3.x","asynchronous","async-await","python-asyncio"],"owner":"Basj","score":302,"title":"Simplest async/await example possible in Python","created_at":"2018-06-08T09:28:03.000Z","view_count":438388,"is_answered":true,"answer_count":10,"last_activity_at":"2025-03-05T07:20:43.000Z","accepted_answer_id":53420574},{"id":42453683,"link":"https://stackoverflow.com/questions/42453683/how-to-reject-in-async-await-syntax","tags":["javascript","typescript","asynchronous","es6-promise","ecmascript-2017"],"owner":"Phoenix","score":499,"title":"How to reject in async/await syntax?","created_at":"2017-02-25T08:20:24.000Z","view_count":302371,"is_answered":true,"answer_count":8,"last_activity_at":"2024-06-10T09:01:29.000Z","accepted_answer_id":42453705},{"id":49432579,"link":"https://stackoverflow.com/questions/49432579/await-is-only-valid-in-async-function","tags":["javascript","node.js"],"owner":"j.doe","score":377,"title":"await is only valid in async function","created_at":"2018-03-22T15:29:02.000Z","view_count":863309,"is_answered":true,"answer_count":15,"last_activity_at":"2024-09-09T20:08:12.000Z","accepted_answer_id":49432604},{"id":35011656,"link":"https://stackoverflow.com/questions/35011656/async-await-in-linq-select","tags":["c#","linq","asynchronous"],"owner":"Alexander Derck","score":373,"title":"Async await in linq select","created_at":"2016-01-26T10:26:08.000Z","view_count":368600,"is_answered":true,"answer_count":9,"last_activity_at":"2025-11-18T09:56:22.000Z","accepted_answer_id":35016869}],"quota_remaining":299},"meta":{"timestamp":"2026-05-30T06:33:30.443Z","request_id":"a2cc24d2-7cbd-41d6-a686-f2adc089cb62"},"status":"ok","message":"Search completed","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/user":{"get":{"operationId":"get_v1_user","tags":["Stack Exchange"],"summary":"User profile by id","description":"","parameters":[{"name":"id","in":"query","required":true,"description":"Numeric user id","schema":{"type":"string"},"example":"22656"},{"name":"site","in":"query","required":false,"description":"Site slug","schema":{"type":"string"},"example":"stackoverflow"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":22656,"link":"https://stackoverflow.com/users/22656/jon-skeet","name":"Jon Skeet","badges":{"gold":895,"bronze":9357,"silver":9318},"location":"Reading, United Kingdom","user_type":"registered","created_at":"2008-09-26T12:05:05.000Z","reputation":1527510,"profile_image":"https://www.gravatar.com/avatar/6d8ebb117e8d83d74ea95fbdd0f87e13?s=256&d=identicon&r=PG","last_access_at":"2026-05-29T19:26:28.000Z"},"meta":{"timestamp":"2026-05-30T06:33:31.171Z","request_id":"71c132cc-8cd1-4db2-b206-cf8d80cff462"},"status":"ok","message":"User retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":4000,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":800,"monthly_call_quota":60000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":300000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":9900,"monthly_call_quota":1500000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/stackexchange-api"}