{"openapi":"3.1.0","info":{"title":"ApplyDjin Public Market Data API","version":"1.0.0","description":"Read-only summaries and aggregates derived from ApplyDjin's public vacancy catalog. Candidate, recruiter, contact, application, document and full scraped-description data are excluded.","license":{"name":"ApplyDjin public data terms","url":"https://applydjinn.com/terms"}},"servers":[{"url":"https://applydjinn.com/data/v1","description":"Production"}],"externalDocs":{"description":"Methodology and limitations","url":"https://applydjinn.com/methodology"},"tags":[{"name":"Discovery"},{"name":"Market"},{"name":"Vacancies"},{"name":"Companies"},{"name":"Technologies"}],"components":{"schemas":{"GenericEnvelope":{"type":"object","required":["apiVersion","generatedAt","data"],"properties":{"apiVersion":{"type":"string","const":"1.0"},"generatedAt":{"type":"string","format":"date-time"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"data":{"type":"object","additionalProperties":true}}},"ErrorEnvelope":{"type":"object","required":["apiVersion","error"],"properties":{"apiVersion":{"type":"string","const":"1.0"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}}}},"Pagination":{"type":"object","required":["page","limit","total","totalPages"],"properties":{"page":{"type":"integer","minimum":1},"limit":{"type":"integer","minimum":1},"total":{"type":"integer","minimum":0},"totalPages":{"type":"integer","minimum":0}}},"LocationPlace":{"type":"object","required":["label","city","region","country"],"properties":{"label":{"type":"string"},"city":{"type":["string","null"]},"region":{"type":["string","null"]},"country":{"type":["string","null"]}}},"LocationDetails":{"type":"object","required":["kind","isRemote","countries","countryCodes","places"],"properties":{"kind":{"type":"string","enum":["unknown","single","multiple","remote"]},"isRemote":{"type":"boolean"},"countries":{"type":"array","items":{"type":"string"}},"countryCodes":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$"}},"places":{"type":"array","items":{"$ref":"#/components/schemas/LocationPlace"}}}},"Role":{"type":"object","required":["family","specialty","isTechnical"],"properties":{"family":{"type":["string","null"]},"specialty":{"type":["string","null"]},"isTechnical":{"type":"boolean"}}},"Salary":{"type":["object","null"],"required":["min","max","currency"],"properties":{"min":{"type":["integer","null"]},"max":{"type":["integer","null"]},"currency":{"type":["string","null"]}}},"VacancySummary":{"type":"object","required":["id","title","company","location","locationDetails","seniority","workFormat","employmentType","salary","category","role","technologies","publishedAt","updatedAt","url"],"properties":{"id":{"type":"integer","minimum":1},"title":{"type":"string"},"company":{"type":"object","required":["id","name"],"properties":{"id":{"type":["integer","null"]},"name":{"type":["string","null"]}}},"location":{"type":["string","null"]},"locationDetails":{"$ref":"#/components/schemas/LocationDetails"},"seniority":{"type":["string","null"]},"workFormat":{"type":["string","null"]},"employmentType":{"type":["string","null"]},"salary":{"$ref":"#/components/schemas/Salary"},"category":{"type":["string","null"]},"role":{"$ref":"#/components/schemas/Role"},"technologies":{"type":"array","items":{"type":"string"}},"publishedAt":{"type":["string","null"],"format":"date-time","description":"Source publication time, falling back to first catalog observation."},"updatedAt":{"type":["string","null"],"format":"date-time","description":"Source content update time, then publication/observation time; routine scrape heartbeats are excluded."},"url":{"type":"string","format":"uri"}}},"VacancyDetail":{"allOf":[{"$ref":"#/components/schemas/VacancySummary"},{"type":"object","required":["source"],"properties":{"source":{"type":"object","required":["type","url"],"properties":{"type":{"type":["string","null"]},"url":{"type":["string","null"],"format":"uri"}}}}}]},"CompanySummary":{"type":"object","required":["id","name","website","industry","size","location","activeVacancies","technologies","url"],"properties":{"id":{"type":"integer","minimum":1},"name":{"type":"string"},"website":{"type":["string","null"],"format":"uri"},"industry":{"type":["string","null"]},"size":{"type":["string","null"]},"location":{"type":["string","null"]},"activeVacancies":{"type":"integer","minimum":0},"technologies":{"type":"array","items":{"type":"object","required":["name","vacancyCount","coveragePercent"],"properties":{"name":{"type":"string"},"vacancyCount":{"type":"integer","minimum":0},"coveragePercent":{"type":"number","minimum":0,"maximum":100}}}},"url":{"type":"string","format":"uri"}}},"TechnologyDemand":{"type":"object","required":["core","required","supporting","optional"],"properties":{"core":{"type":"integer","minimum":0},"required":{"type":"integer","minimum":0},"supporting":{"type":"integer","minimum":0},"optional":{"type":"integer","minimum":0}}},"TechnologyAggregate":{"type":"object","required":["name","vacancyCount","demand"],"properties":{"name":{"type":"string"},"vacancyCount":{"type":"integer","minimum":0},"demand":{"$ref":"#/components/schemas/TechnologyDemand"}}},"MarketSnapshot":{"type":"object","required":["generatedAt","methodologyVersion","coverage","quality","observationWindow","topTechnologies"],"properties":{"generatedAt":{"type":"string","format":"date-time"},"methodologyVersion":{"type":"string"},"coverage":{"type":"object","required":["activeVacancies","archivedVacancies","companies","trackedTechnologies","publishedArticles"],"properties":{"activeVacancies":{"type":"integer","minimum":0},"archivedVacancies":{"type":"integer","minimum":0},"companies":{"type":"integer","minimum":0},"trackedTechnologies":{"type":"integer","minimum":0},"publishedArticles":{"type":"integer","minimum":0}}},"quality":{"type":"object","required":["sourceDateCoveragePercent","salaryCoveragePercent"],"properties":{"sourceDateCoveragePercent":{"type":"number","minimum":0,"maximum":100},"salaryCoveragePercent":{"type":"number","minimum":0,"maximum":100}}},"observationWindow":{"type":"object","required":["firstObservedAt","lastObservedAt"],"properties":{"firstObservedAt":{"type":["string","null"],"format":"date-time"},"lastObservedAt":{"type":["string","null"],"format":"date-time"}}},"topTechnologies":{"type":"array","items":{"type":"object","required":["name","vacancyCount"],"properties":{"name":{"type":"string"},"vacancyCount":{"type":"integer","minimum":0}}}}}},"MarketEnvelope":{"type":"object","required":["apiVersion","generatedAt","data"],"properties":{"apiVersion":{"type":"string","const":"1.0"},"generatedAt":{"type":"string","format":"date-time"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"data":{"$ref":"#/components/schemas/MarketSnapshot"}}},"VacanciesEnvelope":{"type":"object","required":["apiVersion","generatedAt","data","pagination"],"properties":{"apiVersion":{"type":"string","const":"1.0"},"generatedAt":{"type":"string","format":"date-time"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"data":{"type":"array","items":{"$ref":"#/components/schemas/VacancySummary"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"VacancyEnvelope":{"type":"object","required":["apiVersion","generatedAt","data"],"properties":{"apiVersion":{"type":"string","const":"1.0"},"generatedAt":{"type":"string","format":"date-time"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"data":{"$ref":"#/components/schemas/VacancyDetail"}}},"CompaniesEnvelope":{"type":"object","required":["apiVersion","generatedAt","data","pagination"],"properties":{"apiVersion":{"type":"string","const":"1.0"},"generatedAt":{"type":"string","format":"date-time"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"data":{"type":"array","items":{"$ref":"#/components/schemas/CompanySummary"}},"pagination":{"$ref":"#/components/schemas/Pagination"}}},"TechnologiesEnvelope":{"type":"object","required":["apiVersion","generatedAt","data"],"properties":{"apiVersion":{"type":"string","const":"1.0"},"generatedAt":{"type":"string","format":"date-time"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"data":{"type":"object","required":["summary","technologies"],"properties":{"summary":{"type":"object","required":["matchedVacancies","trackedTechnologies","companies"],"properties":{"matchedVacancies":{"type":"integer","minimum":0},"trackedTechnologies":{"type":"integer","minimum":0},"companies":{"type":"integer","minimum":0}}},"technologies":{"type":"array","items":{"$ref":"#/components/schemas/TechnologyAggregate"}}}}}},"TrendsEnvelope":{"type":"object","required":["apiVersion","generatedAt","data"],"properties":{"apiVersion":{"type":"string","const":"1.0"},"generatedAt":{"type":"string","format":"date-time"},"links":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"data":{"type":"object","required":["windowDays","days","totals","archiveTrackingSince","rising","falling","newEntrants","disappearing","dailyActivity"],"properties":{"windowDays":{"type":"integer","minimum":1},"days":{"type":"array","items":{"type":"string","format":"date"}},"totals":{"type":"object","additionalProperties":{"type":"integer","minimum":0}},"archiveTrackingSince":{"type":["string","null"],"format":"date"},"rising":{"type":"array","items":{"type":"object","required":["name","currentCount","previousCount","archivedCount","change","changePercent","daily"],"properties":{"name":{"type":"string"},"currentCount":{"type":"integer","minimum":0},"previousCount":{"type":"integer","minimum":0},"archivedCount":{"type":"integer","minimum":0},"change":{"type":"integer"},"changePercent":{"type":["number","null"]},"daily":{"type":"array","items":{"type":"integer","minimum":0}}}}},"falling":{"type":"array","items":{"type":"object","required":["name","currentCount","previousCount","archivedCount","change","changePercent","daily"],"properties":{"name":{"type":"string"},"currentCount":{"type":"integer","minimum":0},"previousCount":{"type":"integer","minimum":0},"archivedCount":{"type":"integer","minimum":0},"change":{"type":"integer"},"changePercent":{"type":["number","null"]},"daily":{"type":"array","items":{"type":"integer","minimum":0}}}}},"newEntrants":{"type":"array","items":{"type":"object","required":["name","currentCount","previousCount","archivedCount","change","changePercent","daily"],"properties":{"name":{"type":"string"},"currentCount":{"type":"integer","minimum":0},"previousCount":{"type":"integer","minimum":0},"archivedCount":{"type":"integer","minimum":0},"change":{"type":"integer"},"changePercent":{"type":["number","null"]},"daily":{"type":"array","items":{"type":"integer","minimum":0}}}}},"disappearing":{"type":"array","items":{"type":"object","required":["name","currentCount","previousCount","archivedCount","change","changePercent","daily"],"properties":{"name":{"type":"string"},"currentCount":{"type":"integer","minimum":0},"previousCount":{"type":"integer","minimum":0},"archivedCount":{"type":"integer","minimum":0},"change":{"type":"integer"},"changePercent":{"type":["number","null"]},"daily":{"type":"array","items":{"type":"integer","minimum":0}}}}},"dailyActivity":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}}},"paths":{"/":{"get":{"operationId":"getApiDiscovery","tags":["Discovery"],"summary":"List public API resources","responses":{"200":{"description":"Version and resource links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericEnvelope"}}}},"304":{"description":"Not modified"}}}},"/market":{"get":{"operationId":"getMarketSnapshot","tags":["Market"],"summary":"Get aggregate catalog coverage and quality indicators","responses":{"200":{"description":"Aggregate market snapshot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketEnvelope"}}}},"304":{"description":"Not modified"}}}},"/market.csv":{"get":{"operationId":"downloadMarketSnapshotCsv","tags":["Market"],"summary":"Download the aggregate snapshot as CSV","responses":{"200":{"description":"Aggregate market snapshot","content":{"text/csv":{"schema":{"type":"string"}}}},"304":{"description":"Not modified"}}}},"/vacancies":{"get":{"operationId":"listVacancies","tags":["Vacancies"],"summary":"List active vacancy summaries","description":"Returns structured summary fields and technology tags, never full scraped descriptions.","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"search","in":"query","schema":{"type":"string","maxLength":500}},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"seniority","in":"query","schema":{"type":"string"}},{"name":"location","in":"query","schema":{"type":"array","maxItems":20,"items":{"type":"string"}},"style":"form","explode":true},{"name":"workFormat","in":"query","schema":{"type":"string"}},{"name":"employmentType","in":"query","schema":{"type":"string"}},{"name":"skills","in":"query","schema":{"type":"string"}},{"name":"sortBy","in":"query","schema":{"type":"string"}},{"name":"sortOrder","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated active vacancies","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VacanciesEnvelope"}}}},"304":{"description":"Not modified"},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/vacancies/{id}":{"get":{"operationId":"getVacancy","tags":["Vacancies"],"summary":"Get an active vacancy summary and source link","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"Active vacancy summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VacancyEnvelope"}}}},"304":{"description":"Not modified"},"404":{"description":"Vacancy not found or no longer active","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/companies":{"get":{"operationId":"listCompanies","tags":["Companies"],"summary":"List company hiring summaries","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"search","in":"query","schema":{"type":"string","maxLength":500}},{"name":"industry","in":"query","schema":{"type":"string"}},{"name":"location","in":"query","schema":{"type":"string"}},{"name":"sortBy","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Paginated company hiring summaries","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompaniesEnvelope"}}}},"304":{"description":"Not modified"},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/technologies":{"get":{"operationId":"listTechnologies","tags":["Technologies"],"summary":"List technology demand aggregates","parameters":[{"name":"search","in":"query","schema":{"type":"string","maxLength":500}},{"name":"location","in":"query","schema":{"type":"array","maxItems":20,"items":{"type":"string"}},"style":"form","explode":true},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200,"default":50}}],"responses":{"200":{"description":"Technology demand aggregates","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TechnologiesEnvelope"}}}},"304":{"description":"Not modified"},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/trends":{"get":{"operationId":"getTechnologyTrends","tags":["Technologies"],"summary":"Get period-over-period technology movement","parameters":[{"name":"period","in":"query","schema":{"type":"integer","enum":[7,14,30,365],"default":7}},{"name":"search","in":"query","schema":{"type":"string","maxLength":500}},{"name":"location","in":"query","schema":{"type":"array","maxItems":20,"items":{"type":"string"}},"style":"form","explode":true}],"responses":{"200":{"description":"Technology trend aggregates","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrendsEnvelope"}}}},"304":{"description":"Not modified"},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorEnvelope"}}}}}}},"/openapi.json":{"get":{"operationId":"getOpenApiDocument","tags":["Discovery"],"summary":"Get this OpenAPI 3.1 document","responses":{"200":{"description":"OpenAPI document","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericEnvelope"}}}},"304":{"description":"Not modified"}}}}}}