Tools and Technologies Research guide

API Url: https://api.ttr.guide/

GET
/statistics

Query params

Query params let you customize the data you get from the API.
Empty query params will give you all statistics available.
Query string based on the params below,
it's already injected in the example request.
?positions=frontend%2Cfront-end%2Cfront%2Ccss%2Creact%2Cvue%2Cangular%2Chtml&start_date=30%2F01%2F2021&count_threshold=2
positions
(optional - can be empty)

Comma separated list of positions to search for
start_date
must me in format - dd/mm/yyyy
(optional - can be empty)

Start date of the period to search for (dd/mm/yyyy)
end_date
must me in format - dd/mm/yyyy
(optional - can be empty)

End date of the period to search for (dd/mm/yyyy)
count_threshold
(optional - can be empty)

Minimum number of job postings to be included in the results

Example request

GEThttps://api.ttr.guide/statistics?positions=frontend%2Cfront-end%2Cfront%2Ccss%2Creact%2Cvue%2Cangular%2Chtml&start_date=30%2F01%2F2021&count_threshold=2

Response properties:

generation_queued
true or false

Whether the request was queued for generation or not, if it was not queued it means the data was already generated and cached within last 24 hours.
statistics
null or PositionStatistics

If its null it means the request was queued for generation and the statistics will be available soon, if its not null it means the statistics are available, if the statistics are there and the generation_queued is true it means the statistics were generated some time ago and need to be regenerated. If the statistics are null and the generation_queued is false it means the request was not queued for generation and something went wrong or the statistics are not available.
PositionStatistics
TypeScript interfaces representing the data

  interface PositionStatistics {
    statId: string;
    positions: string[];
    startDate: string | null;
    endDate: string | null;
    techStatistics: TechStatistics[];
    totalJobsCount: number;
    timestamp: number;
  }

  interface TechStatistics {
    tech: string;
    popularity: number;
    count: number;
    location_statistics: LocationStatistics;
    type_statistics: TypeStatistics;
    salary_statistics: SalaryStatistics;
    popularity_statistics: PopularityStatistics[];
  }

  interface LocationStatistics {
    remote: number;
    office: number;
    hybrid: number;
  }

  interface SalaryStatistics {
    all: number[];
    max: number;
    upper_quartile: number;
    median: number;
    lower_quartile: number;
    min: number;
  }

  interface TypeStatistics {
    full_time: number;
    part_time: number;
    freelance: number;
  }

  interface PopularityStatistics {
    date: string;
    popularity: number;
    count: number;
  }