Glossary

    Stored request

    Published · Last updated
    Next scheduled review:

    A stored request is a block of OpenRTB JSON saved on a Prebid Server host and merged into incoming auctions by ID, so bidders and parameters can change without new app or page code.

    Prebid Server added stored requests to keep settings out of mobile apps and AMP pages, which are slow to update. The host company keeps the JSON in local files or, more often, in a database shared by all its servers. Each block is retrieved with a key called a stored request ID (Prebid.org, accessed 9 November 2026).

    There are two levels. A top-level, or wrapper-level, stored request merges into the root of the incoming OpenRTB request and carries no imp object. An impression-level stored request merges into one imp element, usually adding the bidder list and each bidder's parameters.

    In the mobile flow, the SDK sends a skeleton request that names stored request IDs but no bidders. Prebid Server merges in the stored blocks and builds the same OpenRTB JSON that Prebid.js would have sent. AMP pages work the same way: the tag_id looks up a base request, and query-string values adjust size and URL. Because one bad row can break every auction that uses it, teams version stored requests and review changes like code.

    Example: An app sends a request whose top level carries only "ext": {"prebid": {"storedrequest": {"id": "news-app-home"}}}. Prebid Server looks up news-app-home, merges in five bidders with their placement IDs and runs the auction. When ad ops replaces one bidder the following week, they edit one database row, and no app update ships.