POST /api/iec/publications/search
Price: 20 credits
Search the IEC Webstore catalogue of IEC, CISPR, IECEE, IECEx, IECQ and joint ISO/IEC, IEC/IEEE and IEC/ASTM publications. Narrows by free text, deliverable type, the form the document is sold in, publishing body, lifecycle status, file format, technical committee and subcommittee, ICS classification code and publication date range, and orders by reference, publication date or relevance. Each result is the full catalogue record: reference, title, abstract, edition, status, price in Swiss francs, page count, committee, ICS codes, the edition and amendment lifecycle and the citation graph.
This is the IEC electrotechnical catalogue only — ISO's own standards live behind /iso/standards/search, and only the jointly published ISO/IEC series appears in both. By default the answer is limited to currently published documents; pass `statuses` to reach revised, replaced or withdrawn ones, which is how you research the history of a reference rather than its current edition. `publication_types` and `document_forms` are different axes and are often confused: an IS can be sold as a plain STANDARD, a CONSOLIDATED text including its amendments and a REDLINE showing the changes, so a search without `document_forms` returns all three as separate rows for the same standard. A shorter `ics_codes` value widens the result set. TRF rows are not standards documents; set `include_test_reports` to false to drop them. `count` tops out at 1000 with no further pages beyond that, so split a broad question by committee, ICS code or date range rather than raising it.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)query string nullable — Free text matched against reference, title and abstract (examples: "transformer", "IEC 60335-1", "photovoltaic"; minLength: 1)publication_types array nullable — Deliverable type: IS international standard, TS technical specification, TR technical report, PAS publicly available specification, TRF IECEE test report form, and the smaller series (one of: "IS", "TRF", "TR", "TS", "PAS", "GUIDE", "SRD", "OTHER", "WP", "STTR", "TEC", "TMOP")document_forms array nullable — Form the document is sold in: STANDARD is the base text, CONSOLIDATED merges the base text with its amendments, REDLINE marks the changes against the previous edition, PACK bundles several publications, SERIES covers a whole numbered family (one of: "STANDARD", "PUBLICATION", "CONSOLIDATED", "REDLINE", "COMMENTED", "EXTENDED", "PACK", "PRERELEASE", "SERIES")publishers array nullable — Publishing body the reference is headed with, including the joint ISO/IEC, IEC/IEEE and IEC/ASTM series and the IECEE, IECEx and IECQ conformity-assessment systems (one of: "IEC", "ISO/IEC", "IECEE", "ISO", "CISPR", "ISO/IEC/IEEE", "IECEx", "IEC/IEEE", "IECQ", "IEC/ASTM", "IEC/ISO", "IEC/ISO/IEEE")statuses array nullable — Lifecycle status. Left unset the search covers currently published documents only; setting it opens the whole catalogue and returns exactly the statuses asked for (one of: "PUBLISHED", "REVISED", "REPLACED", "WITHDRAWN")file_formats array nullable — Restrict to publications sold in at least one of these file formats (one of: "PDF", "DOC", "XML", "TRF")committees array nullable — Technical committee codes as the catalogue writes them (examples: ["TC 61"], ["CIS/B","TC 100"])subcommittees array nullable — Subcommittee codes below a technical committee (examples: ["CIS/B"], ["SC 121A"])ics_codes array nullable — ICS classification codes at any of the three levels: a two-digit field ('97'), a five-character group ('33.100') or a full subgroup ('33.100.10') (examples: ["97"], ["33.100"], ["33.100.10","29.020"])published_from string nullable — Earliest publication date, ISO format YYYY-MM-DD (examples: "2020-01-01")published_to string nullable — Latest publication date, ISO format YYYY-MM-DD (examples: "2024-12-31")include_test_reports boolean — Keep IECEE test report forms (TRF) in the result set (default: true)sort string — Result ordering (default: "reference_asc"; one of: "reference_asc", "reference_desc", "publication_date_asc", "publication_date_desc", "relevance")count integer required — Max number of results to return (min: 1; max: 1000)@type string (default: "IecPublication")id string requiredurn string nullableurl string nullableart_num string nullablereference string nullablereference_parts object nullable@type string (default: "IecReferenceParts")head string nullablenumber string nullablepart string nullablesection string nullableamendment string nullablecorrigendum string nullableversion string nullableissue string nullablepublication_title string nullableabstract string nullableedition string nullablestatus string nullabledocument_form string nullablepublication_date string nullableisbn string nullablepage_count integer nullableprice object nullable@type string (default: "IecPrice")amount number nullablecurrency string nullableavailable_formats array (default: [])available_files array (default: [])@type string (default: "IecAvailableFile")file_format string nullablelanguage string nullablefile_type string nullablehas_full_pdf boolean nullablehas_supporting_content boolean nullablehas_zipped_document boolean nullablepreview_languages array (default: [])deliverables array (default: [])@type string (default: "IecDeliverable")art_num string nullabledeliverable_type string nullablelocation string nullablelanguages array (default: [])last_update string nullablecommittee object nullable@type string (default: "IecCommittee")level_1 string nullablelevel_1_title string nullablelevel_2 string nullablelevel_2_title string nullableics array (default: [])@type string (default: "IecIcsCode")level_1 string nullablelevel_1_title string nullablelevel_2 string nullablelevel_2_title string nullablelevel_3 string nullablelevel_3_title string nullableclassifications array (default: [])@type string (default: "IecClassification")classification_type string nullablevalue string nullablelifecycle array (default: [])@type string (default: "IecLifecycleEntry")id string nullablereference string nullableedition string nullablepublication_date string nullableforecast_publication_date string nullablestatus string nullablestage string nullableis_in_progress boolean nullableis_national_committee_only boolean nullablerelated_publications array (default: [])@type string (default: "IecRelatedPublication")id string nullablereference string nullablestatus string nullableurl string nullablereferenced_by array (default: [])@type string (default: "IecRelatedPublication")id string nullablereference string nullablestatus string nullableurl string nullable422 — An ICS code, date or sort value is malformed, or sort=relevance was passed without a query Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No publication matched the filter combination Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.