---
title: "O recorte do catálogo e os limites"
method: GET
path: "/api/v1/meta"
tags: ["Catálogo"]
---

# O recorte do catálogo e os limites

`GET /api/v1/meta`

## Request

- Base URL: `https://rebasedev.com.br`
- URL: `https://rebasedev.com.br/api/v1/meta`
- Auth: none required

Quantas vagas e empresas o catálogo tem hoje, os cinco eixos do recorte, o vocabulário fechado do filtro `skill` com a contagem, o rótulo e a categoria de cada um, e os limites de página. Existe pro agente não precisar inferir o recorte a partir dos resultados, porque infere errado. Aberta, sem token.

## Response `200`

Sucesso.

- MetaResponse: O recorte do catálogo, o vocabulário de `skill` com contagem e os limites de página.
  - `data` object, required
    - `catalogo` object, required
      - `vagas` integer, required: Vagas no catálogo hoje.
      - `empresas` integer, required: Empresas com pelo menos uma delas.
    - `recorte` string[], required: Os eixos do recorte, em prosa: o que uma vaga precisa ser pra entrar.
    - `skills` object[], required: O vocabulário do filtro `skill`, com quantas vagas do catálogo têm cada uma, da mais comum pra menos.
      - `slug` string, required: O valor que o filtro `skill` aceita. É o contrato.
      - `total` integer, required
      - `label` string, required: Como a skill aparece na tela ("C#", "Google Cloud"). Texto de exibição: pode mudar de redação, o slug não.
      - `categoria` 'linguagens' | 'front-mobile' | 'back-end' | 'ia-dados' | 'cloud-infra' | 'bancos' | 'praticas' | 'outros' | 'null', nullable, required: O slug da categoria, uma das de `categorias`. Nulo quando a vaga ainda traz um slug que o dicionário renomeou.
    - `categorias` object[], required: As categorias das skills, na ordem em que o site as mostra, com o rótulo de cada uma.
      - `slug` 'linguagens' | 'front-mobile' | 'back-end' | 'ia-dados' | 'cloud-infra' | 'bancos' | 'praticas' | 'outros', required
      - `label` string, required
    - `niveis` object[], required: O vocabulário do filtro `nivel`, na ordem da escada (júnior a liderança), com quantas vagas do catálogo têm cada um. Vaga sem nível detectado não conta em nenhum.
      - `slug` 'junior' | 'pleno' | 'senior' | 'staff' | 'lideranca', required: O valor que o filtro `nivel` aceita, sem acento. É o contrato.
      - `label` 'júnior' | 'pleno' | 'sênior' | 'staff' | 'liderança', required: O rótulo, igual ao campo `seniority` de cada vaga.
      - `total` integer, required
    - `modelos` object[], required: O vocabulário do filtro `modelo`, com quantas vagas do catálogo têm cada um. A vaga com dois modelos (PJ e EOR) conta nos dois; `nao-informado` é a vaga sem modelo nenhum, nem dela nem da empresa.
      - `slug` 'clt' | 'pj' | 'eor' | 'nao-informado', required: O valor que o filtro `modelo` aceita. É o contrato.
      - `label` string, required: O rótulo de tela.
      - `total` integer, required
    - `limites` object, required
      - `por_pagina_max` integer, required
      - `por_pagina_padrao` integer, required

## Other responses

- `429`: Mais de 60 chamadas no minuto, pela mesma conta (com token) ou pelo mesmo IP (sem). `code` é `rate_limited`. Espere o `Retry-After`; melhor ainda, leia o `X-RateLimit-Remaining` das respostas de sucesso e se autorregule antes de chegar aqui.

---

[API](https://skmtc.dev/rebasedev/apis/rebase-jobs-api.md) · [All operations](https://skmtc.dev/rebasedev/apis/rebase-jobs-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rebasedev/apis/rebase-jobs-api/revisions/ec4ed03ac794?raw)
