Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.reposeek.ai/llms.txt

Use this file to discover all available pages before exploring further.

POST /v1/search

Search open-source repositories and receive ranked candidates with summaries and GitHub metadata.
POST https://api.reposeek.ai/v1/search

Headers

HeaderRequiredValue
AuthorizationYesBearer <REPOSEEK_API_KEY>
Content-TypeYesapplication/json

Request body

FieldTypeRequiredRules
querystringYesNon-blank, max 1024 characters, must contain a searchable letter/digit token.
limitintegerNoDefaults to 3; must be from 1 to 10.
filtersobjectNoOptional repository metadata constraints. Supports stars, forks, and license.
Unknown fields are rejected. There is no public sort or order field; final ordering remains owned by the reranker.

Filters

Filters are hard eligibility constraints applied to Reposeek’s indexed corpus before reranking. They narrow candidates, but they do not sort results.
FieldMeaning
filters.stars.minInclude repos with at least this many stars. Must be at least 257.
filters.stars.maxInclude repos with at most this many stars. Must be at least 257.
filters.forks.minInclude repos with at least this many forks. Must be a non-negative integer.
filters.forks.maxInclude repos with at most this many forks. Must be a non-negative integer.
filters.licenseSPDX-style license string or array. Accepts at most 10 values. Matching is exact after trimming and lowercasing.
Use stars.min, stars.max, forks.min, forks.max, and license only inside filters. For range filters, min must be less than or equal to max when both are present. License filters must be a non-empty trimmed string; license arrays must be non-empty, contain only non-empty strings, and accept at most 10 values. Unsupported fields are rejected, including unknown top-level fields, unsupported filter keys, and any public sort or order field. Array values use OR within the same field and filters use AND across fields. Repositories with missing license metadata do not match a constrained license filter.
{
  "query": "local-first sync engine for a desktop app",
  "limit": 5,
  "filters": {
    "stars": { "min": 1000 },
    "forks": { "min": 10 },
    "license": ["MIT", "Apache-2.0"]
  }
}
Final ordering remains owned by the reranker. If no eligible repositories match both the query and filters, the response is "results": [].

curl

curl -sS -X POST "https://api.reposeek.ai/v1/search" \
  -H "Authorization: Bearer ${REPOSEEK_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{"query":"macOS menu bar timer app swift","limit":3}'
Explore in API Playground Sign in to run this request from your dashboard.

Response

{
  "request_id": "req_a1b2c3d4e5f6",
  "results": [
    {
      "rank": 1,
      "repo": "marmelab/react-admin",
      "url": "https://github.com/marmelab/react-admin",
      "score": 0.97,
      "summary": "A frontend framework for building B2B applications on top of REST/GraphQL APIs, using React.",
      "stars": 24000,
      "forks": 5300,
      "license": "MIT"
    }
  ]
}

Response headers

Successful searches include:
HeaderMeaning
X-Request-IdMatches the JSON request_id and backend structured logs. Include it when reporting issues.
Server-TimingRoute-level search latency, for example search;dur=312.
See search result fields for the full field reference.