Overview
The IC Source Search API (XML) provides programmatic access to IC Source's global electronic components database, enabling integration of real-time inventory, requirements, and quote data directly into your internal applications.
| Search Method | Description |
|---|---|
| SearchInventory | Search the full IC Source global inventory database |
| SearchOwnInventory | Search only your company's own posted inventory |
| SearchRequirements | Search active requirements (want-to-buy listings) |
| SearchOldRequirements | Search archived/expired requirements |
| SearchQuotes | Search quote responses submitted by vendors |
Features and Benefits
- Platform-independent XML: XML is license-free and well-supported across all programming languages and platforms. You can integrate search results into your internal applications or XSL stylesheets at no additional licensing cost.
- Extensive data coverage: Access a database of more than 37 million inventory items from over 2,000 companies worldwide.
- Multiple transport protocols: The service supports SOAP, HTTP GET, and HTTP POST, making it compatible with virtually any programming language or integration environment.
- Flexible search criteria: Narrow results by part number, manufacturer, date code, quantity, region, stock status, and more.
- Search scope controls: Optionally constrain searches to your preferred vendors, a specified maximum result count, or exact-match results only.
- Complete contact information: Each result includes full company contact details so you can quickly follow up with the posting company.
XML Search Parameters
The following parameters are used to submit and process a search request via the IC Source Search API (XML):
| Parameter | Definition | Required |
|---|---|---|
| User | The parent login name for your IC Source account. | YES |
| Key | Your XML Search access key. Contact IC Source to obtain your key. | YES |
| Part | The part number to search for, including both prefix and base. | YES |
| Mfg | Manufacturer to filter by. Manufacturer aliases are honored. | No |
| DateCode | The date code to filter by. Used in conjunction with the DateCodeCompareType parameter. | No |
| DateCodeCompareType |
Type of comparison to use for the DateCode filter:
| YES |
| MinQuantity | Minimum quantity filter. Only results with a quantity at or above this value will be returned. | YES |
| StockFlag |
| YES |
| PricesOnly |
| YES |
| PreferredVendorsOnly |
Note: This parameter is not used by SearchOwnInventory.
| YES |
| Region |
Note: This parameter is not used by SearchOwnInventory.
| YES |
| SearchType |
| YES |
| MaxResults | The maximum number of results to return per page. | YES |
| PageNum | The page number of results to return. For example, if MaxResults = 50 and PageNum = 2, results 51–100 are returned. | YES |
| Sort | The order in which to return results. Accepts a comma-separated list of column names with optional ASC/DESC modifiers. Example: DateCode DESC, Price ASC | No |
XML Search Results Provided
The following information is returned for a valid XML Search:
| Inventory Searches | Requirements Searches | Quotes Searches |
|---|---|---|
| CompanyName Contact Phone Fax Address1 Address2 City State PostalCode CountryName PartNumber Quantity LastUpdated Mfg DateCode Price Comment IsStock IsPreferredVendor CompanyID InventoryID |
CompanyName Contact Phone Fax Address1 Address2 City State PostalCode CountryName PartNumber Quantity LastUpdated Mfg DateCode Price Comment IsStock IsPreferredVendor CompanyID RequirementID |
CompanyName Contact Phone Fax Address1 Address2 City State PostalCode CountryName PartNumber Quantity LastUpdated Mfg DateCode Price Comment IsPreferredVendor CompanyID QuoteID |
Request Specification
The IC Source Search API (XML) enables searches via three methods: SOAP, HTTP GET, and HTTP POST.
{string}, {int}, {boolean} —
are placeholders indicating the expected data type. Replace each one with the actual value before submitting the request.
SearchInventory
SOAP
The following is a sample SOAP request and response. The placeholders shown need to be replaced with actual values.
POST /xmlsearch.asmx HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://XMLSearch.icsource.com/XMLSearch/SearchInventory" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchInventory xmlns="http://XMLSearch.icsource.com/XMLSearch"> <User>string</User> <Key>string</Key> <Part>string</Part> <Mfg>string</Mfg> <DateCode>string</DateCode> <DateCodeCompareType>int</DateCodeCompareType> <MinQuantity>int</MinQuantity> <StockFlag>int</StockFlag> <PricesOnly>boolean</PricesOnly> <PreferredVendorsOnly>boolean</PreferredVendorsOnly> <Region>int</Region> <SearchType>int</SearchType> <MaxResults>int</MaxResults> <PageNum>int</PageNum> <Sort>string</Sort> </SearchInventory> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchInventoryResponse xmlns="http://XMLSearch.icsource.com/XMLSearch"> <SearchInventoryResult> <xsd:schema>schema</xsd:schema>xml</SearchInventoryResult> </SearchInventoryResponse> </soap:Body> </soap:Envelope>
HTTP GET
The following is a sample HTTP GET request and response. Replace all {placeholder} values before use.
GET /xmlsearch.asmx/SearchInventory?User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PricesOnly={boolean}&PreferredVendorsOnly={boolean}&Region={int}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 Host: xmlsearch.icsource.com HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
HTTP POST
The following is a sample HTTP POST request and response. Replace all {placeholder} values before use.
POST /xmlsearch.asmx/SearchInventory HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: application/x-www-form-urlencoded Content-Length: length User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PricesOnly={boolean}&PreferredVendorsOnly={boolean}&Region={int}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
Response Example
Regardless of the method used to submit the request, the IC Source Search API (XML) will return an XML document containing the search results, similar to the following example:
<?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <xs:schema id="InventorySearch" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="InventorySearch" msdata:IsDataSet="true"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="Inventory"> <xs:complexType> <xs:sequence> <xs:element name="CompanyName" type="xs:string" minOccurs="0" /> <xs:element name="Contact" type="xs:string" minOccurs="0" /> <xs:element name="Phone" type="xs:string" minOccurs="0" /> <xs:element name="Fax" type="xs:string" minOccurs="0" /> <xs:element name="Email" type="xs:string" minOccurs="0" /> <xs:element name="Address1" type="xs:string" minOccurs="0" /> <xs:element name="Address2" type="xs:string" minOccurs="0" /> <xs:element name="City" type="xs:string" minOccurs="0" /> <xs:element name="State" type="xs:string" minOccurs="0" /> <xs:element name="PostalCode" type="xs:string" minOccurs="0" /> <xs:element name="CountryName" type="xs:string" minOccurs="0" /> <xs:element name="PartNumber" type="xs:string" minOccurs="0" /> <xs:element name="Quantity" type="xs:int" minOccurs="0" /> <xs:element name="LastUpdated" type="xs:dateTime" minOccurs="0" /> <xs:element name="Mfg" type="xs:string" minOccurs="0" /> <xs:element name="DateCode" type="xs:string" minOccurs="0" /> <xs:element name="Price" type="xs:string" minOccurs="0" /> <xs:element name="Comment" type="xs:string" minOccurs="0" /> <xs:element name="IsStock" type="xs:boolean" minOccurs="0" /> <xs:element name="IsPreferredVendor" type="xs:boolean" minOccurs="0" /> <xs:element name="CompanyID" type="xs:int" minOccurs="0" /> <xs:element name="InventoryID" type="xs:long" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <InventorySearch xmlns=""> <Inventory diffgr:id="Inventory1" msdata:rowOrder="0"> <CompanyName>ACME CO</CompanyName> <Contact>CONTACT1</Contact> <Phone>+1-555-555-1234</Phone> <Fax>+1-555-555-4321</Fax> <Email>email@address.com</Email> <Address1>ADDRESS1</Address1> <Address2>ADDRESS2</Address2> <City>CITY</City> <State>STATE</State> <PostalCode>11111-1111</PostalCode> <CountryName>USA</CountryName> <PartNumber>NE555</PartNumber> <Quantity>150</Quantity> <LastUpdated>2026-03-03T22:14:44.9830000-04:00</LastUpdated> <Mfg /> <DateCode /> <Price /> <Comment /> <IsStock>false</IsStock> <IsPreferredVendor>false</IsPreferredVendor> <CompanyID>4981</CompanyID> <InventoryID>21572183</InventoryID> </Inventory> </InventorySearch> </diffgr:diffgram> </DataSet>
SearchOwnInventory
SOAP
The following is a sample SOAP request and response. The placeholders shown need to be replaced with actual values.
POST /xmlsearch.asmx HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://XMLSearch.icsource.com/XMLSearch/SearchOwnInventory" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchOwnInventory xmlns="http://XMLSearch.icsource.com/XMLSearch"> <User>string</User> <Key>string</Key> <Part>string</Part> <Mfg>string</Mfg> <DateCode>string</DateCode> <DateCodeCompareType>int</DateCodeCompareType> <MinQuantity>int</MinQuantity> <StockFlag>int</StockFlag> <PricesOnly>boolean</PricesOnly> <SearchType>int</SearchType> <MaxResults>int</MaxResults> <PageNum>int</PageNum> <Sort>string</Sort> </SearchOwnInventory> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchOwnInventoryResponse xmlns="http://XMLSearch.icsource.com/XMLSearch"> <SearchOwnInventoryResult> <xsd:schema>schema</xsd:schema>xml</SearchOwnInventoryResult> </SearchOwnInventoryResponse> </soap:Body> </soap:Envelope>
HTTP GET
The following is a sample HTTP GET request and response. Replace all {placeholder} values before use.
GET /xmlsearch.asmx/SearchOwnInventory?User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PricesOnly={boolean}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 Host: xmlsearch.icsource.com HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
HTTP POST
The following is a sample HTTP POST request and response. Replace all {placeholder} values before use.
POST /xmlsearch.asmx/SearchOwnInventory HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: application/x-www-form-urlencoded Content-Length: length User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PricesOnly={boolean}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
Response Example
SearchOwnInventory returns the same schema as SearchInventory, limited to inventory posted by your own company. Note that PreferredVendorsOnly and Region are not applicable for this method. The following example shows a response when no matching records are found:
<?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <xs:schema id="InventorySearch" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="InventorySearch" msdata:IsDataSet="true"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="Inventory"> <xs:complexType> <xs:sequence> <xs:element name="CompanyName" type="xs:string" minOccurs="0" /> <xs:element name="Contact" type="xs:string" minOccurs="0" /> <xs:element name="Phone" type="xs:string" minOccurs="0" /> <xs:element name="Fax" type="xs:string" minOccurs="0" /> <xs:element name="Email" type="xs:string" minOccurs="0" /> <xs:element name="Address1" type="xs:string" minOccurs="0" /> <xs:element name="Address2" type="xs:string" minOccurs="0" /> <xs:element name="City" type="xs:string" minOccurs="0" /> <xs:element name="State" type="xs:string" minOccurs="0" /> <xs:element name="PostalCode" type="xs:string" minOccurs="0" /> <xs:element name="CountryName" type="xs:string" minOccurs="0" /> <xs:element name="PartNumber" type="xs:string" minOccurs="0" /> <xs:element name="Quantity" type="xs:int" minOccurs="0" /> <xs:element name="LastUpdated" type="xs:dateTime" minOccurs="0" /> <xs:element name="Mfg" type="xs:string" minOccurs="0" /> <xs:element name="DateCode" type="xs:string" minOccurs="0" /> <xs:element name="Price" type="xs:string" minOccurs="0" /> <xs:element name="Comment" type="xs:string" minOccurs="0" /> <xs:element name="IsStock" type="xs:boolean" minOccurs="0" /> <xs:element name="IsPreferredVendor" type="xs:boolean" minOccurs="0" /> <xs:element name="CompanyID" type="xs:int" minOccurs="0" /> <xs:element name="InventoryID" type="xs:long" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1" /> </DataSet>
SearchRequirements
SOAP
The following is a sample SOAP request and response. The placeholders shown need to be replaced with actual values.
POST /xmlsearch.asmx HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://XMLSearch.icsource.com/XMLSearch/SearchRequirements" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchRequirements xmlns="http://XMLSearch.icsource.com/XMLSearch"> <User>string</User> <Key>string</Key> <Part>string</Part> <Mfg>string</Mfg> <DateCode>string</DateCode> <DateCodeCompareType>int</DateCodeCompareType> <MinQuantity>int</MinQuantity> <StockFlag>int</StockFlag> <PricesOnly>boolean</PricesOnly> <PreferredVendorsOnly>boolean</PreferredVendorsOnly> <Region>int</Region> <SearchType>int</SearchType> <MaxResults>int</MaxResults> <PageNum>int</PageNum> <Sort>string</Sort> </SearchRequirements> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchRequirementsResponse xmlns="http://XMLSearch.icsource.com/XMLSearch"> <SearchRequirementsResult> <xsd:schema>schema</xsd:schema>xml</SearchRequirementsResult> </SearchRequirementsResponse> </soap:Body> </soap:Envelope>
HTTP GET
The following is a sample HTTP GET request and response. Replace all {placeholder} values before use.
GET /xmlsearch.asmx/SearchRequirements?User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PricesOnly={boolean}&PreferredVendorsOnly={boolean}&Region={int}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 Host: xmlsearch.icsource.com HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
HTTP POST
The following is a sample HTTP POST request and response. Replace all {placeholder} values before use.
POST /xmlsearch.asmx/SearchRequirements HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: application/x-www-form-urlencoded Content-Length: length User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PricesOnly={boolean}&PreferredVendorsOnly={boolean}&Region={int}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
Response Example
Regardless of the method used to submit the request, the IC Source Search API (XML) will return an XML document containing the search results, similar to the following example:
<?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <xs:schema id="RequirementsSearch" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="RequirementsSearch" msdata:IsDataSet="true"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="Requirements"> <xs:complexType> <xs:sequence> <xs:element name="CompanyName" type="xs:string" minOccurs="0" /> <xs:element name="Contact" type="xs:string" minOccurs="0" /> <xs:element name="Phone" type="xs:string" minOccurs="0" /> <xs:element name="Fax" type="xs:string" minOccurs="0" /> <xs:element name="Email" type="xs:string" minOccurs="0" /> <xs:element name="Address1" type="xs:string" minOccurs="0" /> <xs:element name="Address2" type="xs:string" minOccurs="0" /> <xs:element name="City" type="xs:string" minOccurs="0" /> <xs:element name="State" type="xs:string" minOccurs="0" /> <xs:element name="PostalCode" type="xs:string" minOccurs="0" /> <xs:element name="CountryName" type="xs:string" minOccurs="0" /> <xs:element name="PartNumber" type="xs:string" minOccurs="0" /> <xs:element name="Quantity" type="xs:int" minOccurs="0" /> <xs:element name="LastUpdated" type="xs:dateTime" minOccurs="0" /> <xs:element name="Mfg" type="xs:string" minOccurs="0" /> <xs:element name="DateCode" type="xs:string" minOccurs="0" /> <xs:element name="Price" type="xs:string" minOccurs="0" /> <xs:element name="Comment" type="xs:string" minOccurs="0" /> <xs:element name="IsStock" type="xs:boolean" minOccurs="0" /> <xs:element name="IsPreferredVendor" type="xs:boolean" minOccurs="0" /> <xs:element name="CompanyID" type="xs:int" minOccurs="0" /> <xs:element name="RequirementID" type="xs:long" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <RequirementsSearch xmlns=""> <Requirements diffgr:id="Requirements1" msdata:rowOrder="0"> <CompanyName>ACME CO</CompanyName> <Contact>CONTACT1</Contact> <Phone>+1-555-555-1234</Phone> <Fax>+1-555-555-4321</Fax> <Email>email@address.com</Email> <Address1>ADDRESS1</Address1> <Address2>ADDRESS2</Address2> <City>CITY</City> <State>STATE</State> <PostalCode>11111-1111</PostalCode> <CountryName>USA</CountryName> <PartNumber>ms1mss10242</PartNumber> <Quantity>2</Quantity> <LastUpdated>2026-03-03T10:27:12.6570000-04:00</LastUpdated> <Mfg /> <DateCode /> <Price /> <Comment>TEST - PLEASE IGNORE</Comment> <IsStock>true</IsStock> <IsPreferredVendor>false</IsPreferredVendor> <CompanyID>4105</CompanyID> <RequirementID>15356</RequirementID> </Requirements> </RequirementsSearch> </diffgr:diffgram> </DataSet>
SearchOldRequirements
SOAP
The following is a sample SOAP request and response. The placeholders shown need to be replaced with actual values.
POST /xmlsearch.asmx HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://XMLSearch.icsource.com/XMLSearch/SearchOldRequirements" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchOldRequirements xmlns="http://XMLSearch.icsource.com/XMLSearch"> <User>string</User> <Key>string</Key> <Part>string</Part> <Mfg>string</Mfg> <DateCode>string</DateCode> <DateCodeCompareType>int</DateCodeCompareType> <MinQuantity>int</MinQuantity> <StockFlag>int</StockFlag> <PricesOnly>boolean</PricesOnly> <PreferredVendorsOnly>boolean</PreferredVendorsOnly> <Region>int</Region> <SearchType>int</SearchType> <MaxResults>int</MaxResults> <PageNum>int</PageNum> <Sort>string</Sort> </SearchOldRequirements> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchOldRequirementsResponse xmlns="http://XMLSearch.icsource.com/XMLSearch"> <SearchOldRequirementsResult> <xsd:schema>schema</xsd:schema>xml</SearchOldRequirementsResult> </SearchOldRequirementsResponse> </soap:Body> </soap:Envelope>
HTTP GET
The following is a sample HTTP GET request and response. Replace all {placeholder} values before use.
GET /xmlsearch.asmx/SearchOldRequirements?User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PricesOnly={boolean}&PreferredVendorsOnly={boolean}&Region={int}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 Host: xmlsearch.icsource.com HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
HTTP POST
The following is a sample HTTP POST request and response. Replace all {placeholder} values before use.
POST /xmlsearch.asmx/SearchOldRequirements HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: application/x-www-form-urlencoded Content-Length: length User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PricesOnly={boolean}&PreferredVendorsOnly={boolean}&Region={int}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSchema"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
Response Example
Regardless of the method used to submit the request, the IC Source Search API (XML) will return an XML document containing the search results, similar to the following example:
<?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <xs:schema id="RequirementsSearch" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="RequirementsSearch" msdata:IsDataSet="true"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="Requirements"> <xs:complexType> <xs:sequence> <xs:element name="CompanyName" type="xs:string" minOccurs="0" /> <xs:element name="Contact" type="xs:string" minOccurs="0" /> <xs:element name="Phone" type="xs:string" minOccurs="0" /> <xs:element name="Fax" type="xs:string" minOccurs="0" /> <xs:element name="Email" type="xs:string" minOccurs="0" /> <xs:element name="Address1" type="xs:string" minOccurs="0" /> <xs:element name="Address2" type="xs:string" minOccurs="0" /> <xs:element name="City" type="xs:string" minOccurs="0" /> <xs:element name="State" type="xs:string" minOccurs="0" /> <xs:element name="PostalCode" type="xs:string" minOccurs="0" /> <xs:element name="CountryName" type="xs:string" minOccurs="0" /> <xs:element name="PartNumber" type="xs:string" minOccurs="0" /> <xs:element name="Quantity" type="xs:int" minOccurs="0" /> <xs:element name="LastUpdated" type="xs:dateTime" minOccurs="0" /> <xs:element name="Mfg" type="xs:string" minOccurs="0" /> <xs:element name="DateCode" type="xs:string" minOccurs="0" /> <xs:element name="Price" type="xs:string" minOccurs="0" /> <xs:element name="Comment" type="xs:string" minOccurs="0" /> <xs:element name="IsStock" type="xs:boolean" minOccurs="0" /> <xs:element name="IsPreferredVendor" type="xs:boolean" minOccurs="0" /> <xs:element name="CompanyID" type="xs:int" minOccurs="0" /> <xs:element name="RequirementID" type="xs:long" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <RequirementsSearch xmlns=""> <Requirements diffgr:id="Requirements1" msdata:rowOrder="0"> <CompanyName>ACME CO</CompanyName> <Contact>CONTACT1</Contact> <Phone>+1-555-555-1234</Phone> <Fax>+1-555-555-4321</Fax> <Email>email@address.com</Email> <Address1>ADDRESS1</Address1> <Address2>ADDRESS2</Address2> <City>CITY</City> <State>STATE</State> <PostalCode>11111-1111</PostalCode> <CountryName>USA</CountryName> <PartNumber>1MSA5935BT3</PartNumber> <Quantity>2500</Quantity> <LastUpdated>2026-03-03T22:50:57.0000000-04:00</LastUpdated> <Mfg>ONS</Mfg> <DateCode /> <Price>0</Price> <Comment>A</Comment> <IsStock>true</IsStock> <IsPreferredVendor>false</IsPreferredVendor> <CompanyID>4101</CompanyID> <RequirementID>15356</RequirementID> </Requirements> </RequirementsSearch> </diffgr:diffgram> </DataSet>
SearchQuotes
SOAP
The following is a sample SOAP request and response. The placeholders shown need to be replaced with actual values.
POST /xmlsearch.asmx HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://XMLSearch.icsource.com/XMLSearch/SearchQuotes" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchQuotes xmlns="http://XMLSearch.icsource.com/XMLSearch"> <User>string</User> <Key>string</Key> <Part>string</Part> <Mfg>string</Mfg> <DateCode>string</DateCode> <DateCodeCompareType>int</DateCodeCompareType> <MinQuantity>int</MinQuantity> <StockFlag>int</StockFlag> <PreferredVendorsOnly>boolean</PreferredVendorsOnly> <Region>int</Region> <SearchType>int</SearchType> <MaxResults>int</MaxResults> <PageNum>int</PageNum> <Sort>string</Sort> </SearchQuotes> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SearchQuotesResponse xmlns="http://XMLSearch.icsource.com/XMLSearch"> <SearchQuotesResult> <xsd:schema>schema</xsd:schema>xml</SearchQuotesResult> </SearchQuotesResponse> </soap:Body> </soap:Envelope>
HTTP GET
The following is a sample HTTP GET request and response. Replace all {placeholder} values before use.
GET /xmlsearch.asmx/SearchQuotes?User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PreferredVendorsOnly={boolean}&Region={int}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 Host: xmlsearch.icsource.com HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
HTTP POST
The following is a sample HTTP POST request and response. Replace all {placeholder} values before use.
POST /xmlsearch.asmx/SearchQuotes HTTP/1.1 Host: xmlsearch.icsource.com Content-Type: application/x-www-form-urlencoded Content-Length: length User={string}&Key={string}&Part={string}&Mfg={string}&DateCode={string}&DateCodeCompareType={int}&MinQuantity={int}&StockFlag={int}&PreferredVendorsOnly={boolean}&Region={int}&SearchType={int}&MaxResults={int}&PageNum={int}&Sort={string} HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <schema xmlns="http://www.w3.org/2001/XMLSchema">schema</schema>xml</DataSet>
Response Example
Regardless of the method used to submit the request, the IC Source Search API (XML) will return an XML document containing the search results, similar to the following example:
<?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://XMLSearch.icsource.com/XMLSearch"> <xs:schema id="QuotesSearch" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="QuotesSearch" msdata:IsDataSet="true"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="Quotes"> <xs:complexType> <xs:sequence> <xs:element name="CompanyName" type="xs:string" minOccurs="0" /> <xs:element name="Contact" type="xs:string" minOccurs="0" /> <xs:element name="Phone" type="xs:string" minOccurs="0" /> <xs:element name="Fax" type="xs:string" minOccurs="0" /> <xs:element name="Email" type="xs:string" minOccurs="0" /> <xs:element name="Address1" type="xs:string" minOccurs="0" /> <xs:element name="Address2" type="xs:string" minOccurs="0" /> <xs:element name="City" type="xs:string" minOccurs="0" /> <xs:element name="State" type="xs:string" minOccurs="0" /> <xs:element name="PostalCode" type="xs:string" minOccurs="0" /> <xs:element name="CountryName" type="xs:string" minOccurs="0" /> <xs:element name="PartNumber" type="xs:string" minOccurs="0" /> <xs:element name="Quantity" type="xs:int" minOccurs="0" /> <xs:element name="LastUpdated" type="xs:dateTime" minOccurs="0" /> <xs:element name="Mfg" type="xs:string" minOccurs="0" /> <xs:element name="DateCode" type="xs:string" minOccurs="0" /> <xs:element name="Price" type="xs:string" minOccurs="0" /> <xs:element name="Comment" type="xs:string" minOccurs="0" /> <xs:element name="IsPreferredVendor" type="xs:boolean" minOccurs="0" /> <xs:element name="CompanyID" type="xs:int" minOccurs="0" /> <xs:element name="QuoteID" type="xs:long" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <QuotesSearch xmlns=""> <Quotes diffgr:id="Quotes1" msdata:rowOrder="0"> <CompanyName>ACME CO</CompanyName> <Contact>CONTACT1</Contact> <Phone>+1-555-555-1234</Phone> <Fax>+1-555-555-4321</Fax> <Email>email@address.com</Email> <Address1>ADDRESS1</Address1> <Address2>ADDRESS2</Address2> <City>CITY</City> <State>STATE</State> <PostalCode>11111-1111</PostalCode> <CountryName>USA</CountryName> <PartNumber>ms1mss10151</PartNumber> <Quantity>1</Quantity> <LastUpdated>2026-03-03T12:07:08.5000000-05:00</LastUpdated> <Mfg>test</Mfg> <DateCode /> <Price>.03</Price> <Comment>TEST</Comment> <IsPreferredVendor>false</IsPreferredVendor> <CompanyID>4103</CompanyID> <QuoteID>15359</QuoteID> </Quotes> </QuotesSearch> </diffgr:diffgram> </DataSet>
Sample Java Client Code
The following is a complete Java sample demonstrating how to call SearchInventory via SOAP. The XMLSearchProxy class handles SOAP envelope construction and HTTP communication. Adapt this pattern for other search methods by updating the SOAPAction header and XML body.
import java.net.*;
import java.io.*;
public class XMLSearchClientSample {
public XMLSearchClientSample() { }
public static void main(String[] args) {
XMLSearchProxy objSearch = new XMLSearchProxy();
System.out.println(objSearch.SearchInventory("user",
"key",
"ne555",
"",
"",
0,
0,
2,
false,
false,
0,
0,
10,
1,
"") + "\n");
}
}
class XMLSearchProxy {
private String m_strURL = "https://xmlsearch.icsource.com/xmlsearch.asmx";
private String getInventorySearchRequestString(String user, String key, String part,
String mfg, String dateCode,
int dateCodeCompareType, int minQuantity,
int stockFlag, boolean pricesOnly,
boolean preferredVendorsOnly, int region,
int searchType, int maxResults,
int pageNum, String sort) {
StringBuffer strRequest = new StringBuffer();
strRequest.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
strRequest.append("<soap:Envelope ");
strRequest.append("xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ");
strRequest.append("xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" ");
strRequest.append("xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">");
strRequest.append("<soap:Body>");
strRequest.append("<SearchInventory xmlns=\"http://XMLSearch.icsource.com/XMLSearch\">");
strRequest.append("<User>" + user + "</User>");
strRequest.append("<Key>" + key + "</Key>");
strRequest.append("<Part>" + part + "</Part>");
strRequest.append("<Mfg>" + mfg + "</Mfg>");
strRequest.append("<DateCode>" + dateCode + "</DateCode>");
strRequest.append("<DateCodeCompareType>" + dateCodeCompareType + "</DateCodeCompareType>");
strRequest.append("<MinQuantity>" + minQuantity + "</MinQuantity>");
strRequest.append("<StockFlag>" + stockFlag + "</StockFlag>");
strRequest.append("<PricesOnly>" + pricesOnly + "</PricesOnly>");
strRequest.append("<PreferredVendorsOnly>" + preferredVendorsOnly + "</PreferredVendorsOnly>");
strRequest.append("<Region>" + region + "</Region>");
strRequest.append("<SearchType>" + searchType + "</SearchType>");
strRequest.append("<MaxResults>" + maxResults + "</MaxResults>");
strRequest.append("<PageNum>" + pageNum + "</PageNum>");
strRequest.append("<Sort>" + sort + "</Sort>");
strRequest.append("</SearchInventory>");
strRequest.append("</soap:Body>");
strRequest.append("</soap:Envelope>");
return strRequest.toString();
}
public String SearchInventory(String user, String key, String part,
String mfg, String dateCode, int dateCodeCompareType, int minQuantity,
int stockFlag, boolean pricesOnly, boolean preferredVendorsOnly,
int region, int searchType, int maxResults, int pageNum, String sort) {
try {
URL objURL = new URL(m_strURL);
HttpURLConnection objCon = (HttpURLConnection) objURL.openConnection();
objCon.setDoOutput(true);
objCon.setRequestMethod("POST");
objCon.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
objCon.setRequestProperty("SoapAction",
"http://XMLSearch.icsource.com/XMLSearch/SearchInventory");
PrintWriter objWriter = new PrintWriter(objCon.getOutputStream());
objWriter.println(getInventorySearchRequestString(user, key, part, mfg,
dateCode, dateCodeCompareType,
minQuantity, stockFlag,
pricesOnly, preferredVendorsOnly,
region, searchType,
maxResults, pageNum, sort));
objWriter.close();
InputStreamReader objReader = new InputStreamReader(objCon.getInputStream());
BufferedReader objBuffer = new BufferedReader(objReader);
StringBuffer strResponse = new StringBuffer();
String strPartialResponse = objBuffer.readLine();
while (strPartialResponse != null) {
strResponse.append(strPartialResponse);
strPartialResponse = objBuffer.readLine();
}
return strResponse.toString();
} catch (Exception e) {
System.out.println(e.getMessage());
return "";
}
}
}