{"openapi":"3.0.1","info":{"title":"RentSeek API","description":"Executive compensation data extracted from public company filings and exposed through an agent-friendly REST API. Public provider errors use the Financial Datasets-style flat envelope { error, message }.","version":"1.0.0","termsOfService":"https://rentseek.ing/terms","contact":{"name":"rentseek.ing","url":"https://rentseek.ing/about"}},"servers":[{"url":"https://rentseek.ing/api","description":"Production server"}],"security":[{"X-API-KEY":[]}],"tags":[{"name":"Executive Compensation","description":"Named executive officer compensation from proxy statements and annual reports."}],"paths":{"/executive-compensation":{"get":{"tags":["Executive Compensation"],"operationId":"getExecutiveCompensation","summary":"Get executive compensation","description":"Get fiscal-year executive compensation rows for a company. This endpoint does not return pay ratio, pay-versus-performance/CAP adjustments, director compensation, or insider trades.","parameters":[{"name":"ticker","in":"query","description":"The ticker symbol. Required if cik is not provided.","required":false,"schema":{"type":"string"}},{"name":"cik","in":"query","description":"The SEC Central Index Key. Required if ticker is not provided.","required":false,"schema":{"type":"string"}},{"name":"period","in":"query","description":"The time period of the data.","required":false,"schema":{"type":"string","enum":["annual"],"default":"annual"}},{"name":"limit","in":"query","description":"The maximum number of fiscal years to return. All executive rows for each included fiscal year are returned.","required":false,"schema":{"type":"integer","default":4,"minimum":0,"maximum":100}},{"name":"fiscal_year","in":"query","description":"Filter by exact fiscal year.","required":false,"schema":{"type":"integer"}},{"name":"fiscal_year_gte","in":"query","description":"Filter by fiscal year greater than or equal to this value.","required":false,"schema":{"type":"integer"}},{"name":"fiscal_year_lte","in":"query","description":"Filter by fiscal year less than or equal to this value.","required":false,"schema":{"type":"integer"}},{"name":"fiscal_year_gt","in":"query","description":"Filter by fiscal year greater than this value.","required":false,"schema":{"type":"integer"}},{"name":"fiscal_year_lt","in":"query","description":"Filter by fiscal year less than this value.","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Executive compensation response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutiveCompensationResponse"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"402":{"$ref":"#/components/responses/PaymentRequiredError"},"404":{"$ref":"#/components/responses/NotFoundError"},"429":{"$ref":"#/components/responses/RateLimitedError"},"503":{"$ref":"#/components/responses/ServiceUnavailableError"}}}},"/executive-compensation/tickers":{"get":{"tags":["Executive Compensation"],"operationId":"getExecutiveCompensationTickers","summary":"Get available executive compensation tickers","description":"Get ticker symbols currently available for the executive compensation dataset.","parameters":[{"name":"limit","in":"query","description":"The maximum number of tickers to return.","required":false,"schema":{"type":"integer","default":5000,"minimum":1,"maximum":5000}}],"responses":{"200":{"description":"Available tickers response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TickersResponse"}}}},"400":{"$ref":"#/components/responses/BadRequestError"},"401":{"$ref":"#/components/responses/UnauthorizedError"},"402":{"$ref":"#/components/responses/PaymentRequiredError"},"429":{"$ref":"#/components/responses/RateLimitedError"}}}}},"components":{"securitySchemes":{"X-API-KEY":{"type":"apiKey","name":"X-API-KEY","description":"API key for authentication.","in":"header"}},"responses":{"BadRequestError":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Bad Request","message":"Invalid request parameters"}}}},"UnauthorizedError":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Unauthorized","message":"Invalid API key provided"}}}},"PaymentRequiredError":{"description":"The request requires a paid subscription","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Payment Required","message":"This endpoint requires a paid subscription. Please upgrade your plan."}}}},"NotFoundError":{"description":"The specified resource was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Not Found","message":"Ticker XXXX not found"}}}},"RateLimitedError":{"description":"Rate limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Too Many Requests","message":"Rate limit exceeded. Please try again shortly."}}}},"ServiceUnavailableError":{"description":"Filing parse in progress or upstream company data is temporarily unavailable.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"},"example":{"error":"Service Unavailable","message":"Upstream company data is temporarily unavailable"}}}}},"schemas":{"ExecutiveCompensationResponse":{"type":"object","properties":{"executive_compensation":{"type":"array","items":{"$ref":"#/components/schemas/ExecutiveCompensation"}}},"required":["executive_compensation"]},"ExecutiveCompensation":{"type":"object","properties":{"ticker":{"type":"string"},"cik":{"type":"string"},"company_name":{"type":"string"},"fiscal_year":{"type":"integer"},"reported_year":{"type":"integer","nullable":true},"period":{"type":"string","enum":["annual"]},"executive_id":{"type":"string"},"executive_name":{"type":"string"},"executive_role":{"type":"string","nullable":true},"is_peo":{"type":"boolean"},"is_pfo":{"type":"boolean"},"reporting_currency":{"type":"string","nullable":true},"salary":{"type":"number"},"bonus":{"type":"number"},"stock_awards":{"type":"number"},"option_awards":{"type":"number"},"non_equity_incentive":{"type":"number"},"pension_change":{"type":"number"},"other_comp":{"type":"number"},"unknown_component":{"type":"number"},"total_compensation":{"type":"number"},"source":{"$ref":"#/components/schemas/CompensationSource"}},"required":["ticker","cik","company_name","fiscal_year","reported_year","period","executive_id","executive_name","executive_role","is_peo","is_pfo","reporting_currency","salary","bonus","stock_awards","option_awards","non_equity_incentive","pension_change","other_comp","unknown_component","total_compensation","source"]},"CompensationSource":{"type":"object","properties":{"form":{"type":"string"},"accession":{"type":"string"},"filing_date":{"type":"string","nullable":true},"filing_url":{"type":"string","nullable":true}},"required":["form","accession","filing_date","filing_url"]},"TickersResponse":{"type":"object","properties":{"resource":{"type":"string","description":"The resource type identifier.","example":"executive_compensation"},"tickers":{"type":"array","items":{"type":"string"},"description":"List of available ticker symbols."}},"required":["resource","tickers"]},"ErrorResponse":{"type":"object","description":"Financial Datasets-style public API error envelope. App-internal RentSeek APIs may use a different nested error shape.","properties":{"error":{"type":"string","description":"A short error message."},"message":{"type":"string","description":"A more detailed error message."}},"required":["error","message"]}}}}