search

Search Text

Search 3GPP specification text by natural language query. This is your primary research tool.

Covers 8,700+ 3GPP document versions across all indexed releases (Rel-15 through Rel-20). Returns semantically matched text passages, reranked for precision.

Typical workflow:

  1. Start with a broad search (e.g. query="handover procedure in NR", filter_series="38")
  2. Identify the relevant document (e.g. doc_number 38.331) and section from results
  3. Narrow with filter_doc_number for deeper exploration of that spec
  4. Use the sections/toc tool to browse the document structure
  5. Fetch full sections with the get_sections tool

Filter strategy: Use filter_series to scope by domain (38=NR, 23=architecture, 33=security). Use filter_doc_number when you know the spec. Use filter_release to compare evolution across releases (e.g. Rel-15 vs Rel-20). Filters are optional — omit all for the broadest search.

Exact identifiers: ASN.1 type, IE, AVP and Diameter command names in the query (e.g. "Ellipsoid-PointWithUncertaintyCircle", "LCS-EPS-Client-Name AVP", "AVP code 2501") are also matched literally against the clauses that define them. Those definitions come first and carry definition.

Exact values: numbers, constants, table numbers and symbol names in the query (e.g. "32400", "44.1 dB", "Table 5.2-1", "D_RX_OTA_MARGIN") are also matched literally against clause text, including numbers inside formulas. For a query that is mostly such terms, or when no meaning-based match contains them, clauses holding every term come first. Results that contain query terms carry matched_terms.

Results: Each result includes a matched text chunk (content) and optionally the full parent section (section_text). The relevance_score (0–1) from the reranker is the best quality signal. Always cite results as "TS 38.331 Section 5.3.5 (Rel-19)".

Dates for prior art: each result's provenance says when that version was uploaded to the 3GPP archive (UTC, from the 3GPP FTP listing) and the TSG plenary it was approved at, with source links; quote provenance.statement as written. Set available_before (e.g. a priority date) to search only versions uploaded before it. These are archive upload and approval dates, not publication dates, and they apply to the whole version, not to one clause.

post/search/text

Request

  • Base URL: https://api.3gppscout.com (the document declares no server; this is the origin it was published from)
  • URL: https://api.3gppscout.com/search/text
  • Auth: none declared

Request body

querystring required

Natural language search query. Be specific — e.g. 'RRC connection reconfiguration procedure' rather than just 'RRC'.

match_countinteger

Candidate matches to retrieve before reranking. Higher = slower but more thorough. Default 30 balances speed and quality.

match_thresholdnumber

Minimum similarity score. Leave at 0 (default) and rely on reranking for quality filtering.

rerankboolean

Rerank results for higher precision. Always leave true (default) — the reranker dramatically improves result quality.

rerank_top_kinteger

Number of final results after reranking. Use 3–5 for focused lookups, 10–20 for broad research.

include_section_textboolean

Include the full parent section text alongside each chunk. Provides richer context but increases response size.

deduplicateboolean

Collapse near-duplicate results from different releases/versions (same doc_number + section_number), so rerank_top_k counts distinct sections. Keeps the highest-scored result (the newest release when scores tie, as identical text across releases does) and annotates it with an 'also_in' list showing each collapsed match's release, version, and scores. Ignored when filter_release is set.

filter_releasestring nullable

Restrict to a specific 3GPP release. Examples: 'Rel-15', 'Rel-17', 'Rel-20'. Omit for all indexed releases (Rel-15 through Rel-20).

filter_doc_typestring nullable

Restrict by document type: 'TS' (Technical Specification) or 'TR' (Technical Report). Omit for both.

filter_doc_numberstring nullable

Restrict to a specific document, e.g. '38.331' (NR RRC), '23.501' (system architecture), '38.300' (NR overview). Use the numeric format without the 'TS'/'TR' prefix.

filter_seriesstring nullable

Restrict by 3GPP series number: '38' = NR/5G radio, '23' = system architecture, '24' = signalling, '36' = LTE, '33' = security, '29' = core network.

filter_section_numberstring nullable

Restrict to a specific section, e.g. '5.3.5'. Only useful when combined with filter_doc_number.

prefer_latestboolean

Add latest_version and latest_release (the newest indexed version of the document) to each result, and when deduplicating keep the newest matched version of each section instead of the highest-scored one.

available_beforestring date nullable

Only versions uploaded to the 3GPP archive before this date (YYYY-MM-DD; before 00:00 UTC, so the day itself is excluded), e.g. a patent application's priority date. A version whose upload time is unknown is left out. Usually one version per release of each spec is indexed (the newest in that release, Rel-15 onward), so a release appears only if that version predates the cutoff; older versions are in the 3GPP archive but not searchable here.

include_childrenboolean

Add each result's sub-clauses (number, title, token count; all of them up to 12, else the direct ones) and descendant_count, so you can pick the clause to read without a table-of-contents call.

Response

Successful Response

querystring required
totalinteger required
rerankedboolean required
elapsed_msnumber required

Changes

No recorded changes to this operation across all 1 revision of this API.