feed ranking api // decisioning infrastructure

Feed ranking,
delivered as one API call.

The ranking layer between candidate generation and the feed a user sees. Gortex orders every item and fills sponsored slots in one call, so your team ships product instead of maintaining a ranking engine.

# 01 / the problem

Building feed ranking in-house is a standing cost, not a one-time build.

A feed ranking system is never done. Relevance models drift, engagement signals shift, and every new surface needs its own tuning. The team that builds it keeps rebuilding it, on the request path, forever.

01 ml and infra headcount
Ranking engineers, feature pipelines, and an online serving stack that has to stay under budget at peak load.
02 latency on every impression
Ranking runs on the request path. Every added signal is latency you pay on every feed load, for every user.
03 monetization bolted on later
Sponsored slots get built as a second system, then reconciled with organic ranking by hand, release after release.
04 explainability debt
When a ranking decision is questioned, there is often no record of why an item placed where it did.
# 02 / how it works

One endpoint ranks the feed and places sponsored slots in the same response.

You send a recipient, a surface, and the candidate set you already retrieved. Gortex returns the organic order and the sponsored placements together, inside one sub-200ms p99 budget, with a decision id you can audit later.

01
your retrieval
you gather the candidates: posts, profiles, listings, or products.
02
gortex decides
rank the candidates and resolve sponsored slots against that order, in one call.
03
your surface
render the ranked feed with sponsored slots already placed and priced.
01 you keep retrieval
Gortex ranks the candidates you bring. No data migration, no re-platforming.
02 ranking and monetization in one call
Organic order and sponsored slots resolve against each other, so a paid item only takes a slot when the placement fits.
03 every decision is traceable
Each response carries a decision id and a trace id. The reason an item ranked is recorded, not reconstructed.
04 seven typed sdks
Generated from one OpenAPI 3.1 spec, so contract drift across languages is mechanically impossible.
# 03 / the call

One request. A ranked feed and its sponsored slots.

POST /v1/decide
200 OK · 74ms
// Rank a home feed and fill its sponsored slots.
$ curl api.gortex.ai/v1/decide \
  -H "Authorization: Bearer $GORTEX_KEY" \
  -d '{
    "recipient": { "id": "u_8120" },
    "context":   { "surface": "home_feed" },
    "items":     [ /* 200 candidate posts */ ]
  }'

{
  "ranked":      [ /* ordered item IDs */ ],
  "sponsored":   [{ "slot": 3, "price": 0.42 }],
  "decision_id": "d_01HXZ3M",
  "trace_id":    "t_01HXZ3N"
}
# 04 / questions

Feed ranking, answered plainly.

What is a feed ranking API?

An endpoint that takes a set of candidate items and returns them in the order a given user should see them. Gortex adds sponsored slot placement in the same response, so organic ranking and monetization resolve together.

Do I need to move my data to use Gortex?

No. You keep retrieval and send the candidates you already have. Gortex ranks what you pass in and returns the order plus sponsored slots. There is no re-platforming.

How fast is a feed ranking call?

Ranking and sponsored placement resolve inside one sub-200ms p99 budget, on the request path, so you can call it on every impression.

# 05 / start

See a feed ranking decision, live.

The private beta is by invitation. Tell us the surface you rank and we will get you a key.