I have a folder, which has subfolders and components. For example, Main folder name as `030 Main`, which has subfolders with names: * **`100 mango`** * **`120 apple`** * **`150 cake`** * *`archive`* * *`not used`* * *`trash`* There are also some components within `030 Main`. Now I want to retrieve only the components which uses a specified schema from certain subfolders (in **bold** above): * **`100 mango`** * **`120 apple`** * **`150 cake`** I don't need any components from `archive`,`not used`,or `trash` nor the components within `030 Main`. I tried something like below, first with a filter on the folder structure (I got tcm id's of `archive`,`not used`,`100 mango`,`120 apple`,`150 cake`,and `trash`). Then I checked if the folder's tcm id matches `100 mango`, `120 apple`, or `150 cake`. If this condition is true, I use a component filter to get all the components with specified schema. >But here in `var idin` I'm still getting the components present in `archive`, `not used` ,`trash`. **Please suggest may be the second filtering part is not working.** OrganizationalItemItemsFilterData filter = new OrganizationalItemItemsFilterData { ItemTypes = new[] { ItemType.Folder }, Recursive = true, BaseColumns = ListBaseColumns.Id }; foreach (var id in client.GetListXml(folderUri, filter).Elements().ToList()) { string so = id.Attribute("ID").Value; Console.WriteLine(so); if ((so == "tcm:229-38695-2") || (so == "tcm:229-149861-2")||(so == "tcm:229-149940-2")||(so =="tcm:229-149941-2")||(so == "tcm:229-149942-2")||(so =="tcm:229-149943-2")||(so =="tcm:229-149875-2")) { Console.WriteLine("i m in"); OrganizationalItemItemsFilterData filter1 = new OrganizationalItemItemsFilterData(); filter1.ItemTypes = new ItemType[] { ItemType.Component }; filter1.ComponentTypes = new ComponentType[] { ComponentType.Normal }; filter1.Recursive = true; StringBuilder sb = new StringBuilder(); string QuestionTitle = string.Empty; foreach (var idin in client.GetListXml(folderUri, filter1).Elements().ToList()) { string compSchema = idin.Attribute("SchemaId").Value; string compId = idin.Attribute("ID").Value;